【发布时间】:2017-02-20 11:28:57
【问题描述】:
我正在通过 Express 网络服务器从 Node.JS 提供静态网页:
app.use('/', express.static('public'));
集成一些动态内容的最简约方式是什么,例如从数据库检索到这样一个页面的项目列表?
我看到有可能在服务器上“伪造”一个实际动态创建的 .js 文件,然后加载到位于服务器上 public 文件夹内的 index.html 中:
app.get('/myScript.js', (req, res) => {
data = getDataFromDatabase();
res.send('var data1 = ' + data[0] + '; var data2 = ' + data[1]);
});
这看起来非常hacky,我想知道最好的简约方法是什么。
【问题讨论】:
-
鉴于您正在询问其合理的方法。如果数据不经常更改或在您的控制之下,您甚至可以在数据更改时写入文件,并且它根本不需要是动态的。但是要考虑的一件事是将数据返回为 JSON 将帮助您避免处理各种文本转义问题。
-
如果我理解正确,您基本上是想检索数据并将该数据呈现到您的主页中?如果是这样,为什么不使用像 ejs 这样的视图引擎呢?
-
@n0m4d 我一直在寻找没有视图引擎的最小解决方案,但看到这可能确实是要走的路。谢谢。
标签: javascript node.js express dynamic-content