我正在构建我的第一个实时应用程序,并且不了解某些内容是如何工作的。我有一个使用websockets的express.js web-app将用户的实时更改推送给其他用户。
假设我们有拍卖,所有用户都会看到完全相同的商品,其出价价格为0美元。一个用户出价200美元,网络应用程序websockets正在运行,所有其他连接客户端看到出价从0美元到200美元。
问题是,比如一个新的客户端进入网络应用程序。他们仍然看到同一产品的出价为0美元,因为我的服务器提供相同的静态html文件,当使用websockets更新所有连接的客户端时,它不会更新html文件,在这种情况下更新出价。
我觉得我有一件简单的事情,我想知道它是什么,过去几天我一直对此感到十分困惑(这么多我创建了一个帐户b / c我无法找到答案)。
基本上,如何使用最新的用户生成数据更改正在提供的html文件以动态更新。假设用户生成一些内容,推送到服务器,服务器现在为任何连接/访问我的网站网址的人提供该网页版本(最新的最新版本)。
如果您需要任何代码或进一步解释我的问题,请询问,我非常感谢任何关闭。谢谢你的时间!
编辑:我认为这与我使用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 /我应该使用什么呢。
答案 0 :(得分:0)
如果我理解了请求,您需要在其中提供包含用户数据的页面。
您需要为所需的每个页面创建路线"渲染"在提供数据之前提供数据的页面。
此快递example对您非常有用。这解释了如何将模板引擎与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作为模板引擎,但您可以使用其他或实现您的。