我的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,但所有这些模板,似乎都是模板引擎&#34;,我真的需要一个模板引擎吗?
我想按原样发送文件。
顺便说一下,我正在做所有这些,因为我想使用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或其他标题?
答案 0 :(得分:1)
在Express中,如果服务器收到GET
/
请求,则会搜索/public/index.html将其作为响应。您不必为/
添加路由器。
因此,您可以将index.html
放入public
文件夹,然后从浏览器点击/
。你应该得到它。
答案 1 :(得分:-1)
我认为您粘贴的代码是可以的。它将发送文件原始内容。