Динамически изменять html, обслуживаемый в реальном времени пользователями для SPA (node.js) - PullRequest
0 голосов
/ 02 июня 2018

Я создаю свое первое приложение в реальном времени и не понимаю, как что-то работает.У меня есть веб-приложение express.js, использующее веб-сокеты для передачи изменений пользователей в режиме реального времени другим пользователям.

Допустим, у нас есть аукцион, и все пользователи видят точно такой же продукт, который отображается с ценой предложения 0 долларов США.Один пользователь ставит 200 долларов, веб-приложение работает, а все остальные подключенные клиенты видят, что цена предложения от 0 до 200 долларов.

Проблема в том, что, скажем, в веб-приложение заходит новый клиент.Они по-прежнему видят ставку для того же продукта в $ 0, потому что мой сервер обслуживает тот же статический файл HTML, он не обновляет файл HTML, когда веб-сокеты используются для обновления всех подключенных клиентов, в этомдело, обновляющее цену предложения.

Мне кажется, что я упускаю простую вещь, пожалуйста, дайте мне знать, что это такое, я был совершенно озадачен этим последние несколько дней (так много я создалаккаунт ч / б я не смог найти ответ).

По сути, как вы изменяете html-файл, который обслуживается для динамического обновления с использованием последних пользовательских данных.Скажем, пользователь генерирует некоторый контент, отправляет на сервер, и сервер теперь предоставляет эту версию веб-страницы (самую последнюю актуальную версию) любому, кто подключается / переходит на URL моего веб-сайта.

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

РЕДАКТИРОВАТЬ: Я считаю, что это связано со мной, используя Express.js для обслуживания «статических» файлов.Это код, который я использую для обслуживания файлов.

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use(express.static(__dirname));

Последняя строка - Express, обслуживающий файлы статически.Это то, что делает невозможным обновление index.html / что я должен использовать вместо этого.

1 Ответ

0 голосов
/ 02 июня 2018

Если я понял запрос, вы хотите обработать страницу с пользовательскими данными внутри.

Вам необходимо создать маршрут для каждой страницы, которая вам нужна для "рендеринга" страницы с данными перед ее обработкой.

Этот экспресс пример может быть очень полезным для вас.Это объясняет, как использовать шаблонизатор с expressjs.

Я поместил здесь код для удобного чтения.

app.set('view engine', 'pug')
app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!' })
})

в index.pug

html
  head
    title= title
  body
    h1= message

пример использованияpugjs как движок шаблонов, но вы можете использовать другой или реализовать свой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...