我的index.html
文件有这个:
<input name='qwe'>
{{qwe}}
我希望 {{qwe}}
按字面意思发送,即不被服务器填充的变量替换。
我该怎么做?我在这个伪代码中思考:
app.get('*',function(req,res){
fs.read('index.html',function(data){
res.send(data)
})
})
但我想我不知道这通常是如何完成的。也许我必须使用预定义的 Express.js 模板引擎:
app.engine('html', ...)
但我不知道 documentation 的哪一部分读书。我还看了consolidate.js ,但是所有这些模板,似乎都是“模板引擎”,我真的需要模板引擎吗?
我想按原样发送文件。
顺便说一句,我做这一切是因为我想使用 Angular.js,但出于实验目的,我没有使用 MEAN ,我认为 MEAN 必须做这样的事情。
更新
我正在尝试这个:
app.get('*',function(req, res){
require('fs').readFile('views/index.html', 'utf8', function(err, data){
if(err) throw err;
res.send(data);
})
// res.sendfile('views/index.html');
});
但是文件已下载但未呈现,有什么建议吗?我想我必须设置 Content-Type 或其他 header ?
最佳答案
在 Express 中,当服务器收到 /
的 GET
请求时,它将搜索/public/index.html 作为响应。您不必为该 /
添加路由器。
因此,您只需将 index.html
放入 public
文件夹中,然后从浏览器中点击 /
即可。你应该得到它。
关于javascript - 如何从 Express.js 发送纯 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772726/