正如@supermova在评论中所说,可以实时更新Express。要考虑的另一种架构是类似于经典CMS(例如Wordpress)的架构。在其他CMS中,所有请求都转到相同的“回调”,并且在
每个请求上, 您都在数据库中查找为该URL服务的页面。
app.get('/*', function (req, res) { db.findPage({ slug: req.url}, function (err, pageData) { res.render('page-template', {pageContent: pageData.content,pageTitle: pageData.title }); });});这种方法的结果是速度显着下降,但最终我认为它更为理智。如果速度是一个很大的问题,则可以设置一个缓存系统(例如Varnish),但是动态修改Express路由的方法会让人头疼。例如,如果必须扩展到两个Web服务器怎么办?如果服务器A收到“创建页面”请求,因此知道如何更新其路由,如何使它们保持同步,但是服务器B呢?随着每个请求进入数据库,您将能够更好地横向扩展。



