Как автоматически обновить браузер во время разработки, когда статические ресурсы отправляются через Express? - PullRequest
0 голосов
/ 14 мая 2018

Как автоматически обновить браузер при внесении изменений в файлы клиента?Я строю клиента с использованием ReactJS.Я говорю моему серверу Express об отправке статических ресурсов, расположенных в моем общедоступном каталоге, когда делается запрос GET в «/».

Вот как выглядит мой сервер:

const express = require('express');
const path = require('path');
const logger = require('morgan');
const bodyParser = require('body-parser');

const app = express();
const port = process.env.PORT || 1128;

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// static assets
app.use(express.static(path.resolve(__dirname, './../public')));

app.listen(port, () =>
  console.log(`server is listening on port: ${port}`)
);

После внесения изменений веб-пакет объединяет все и выводит все в общий каталог.Есть ли способ для сервера отслеживать изменения здесь, чтобы браузер мог автоматически обновляться?Если кто-нибудь знает, как или знает о лучшем способе, я был бы очень признателен.Спасибо!

1 Ответ

0 голосов
/ 14 мая 2018

У вас может быть веб-сокет, который уведомляет клиентов об изменениях файла.Вы можете обнаружить изменения файла, используя fs.watch()

Просмотр файловой системы: https://nodejs.org/api/fs.html#fs_event_change

Сетевой сокет: https://socket.io/ (или ваша библиотека на выбор)

socket.on('file_changed', function () {
  location.reload();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...