在我的节点应用程序中,我配置了views文件夹,稍后我只是单独传递html名称。现在html文件需要从使用视图config + html文件加载。 (我错了!)
但它没有用。有人给我这个建议吗?
这是我的代码:
var express = require('express'),
http = require('http'),
jade = require('jade'),
app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views'); // i configured the path so i am passing file name alone on get.
app.get('/', function(req,res){
res.sendfile('index.html'); //it's not working
res.sendfile('views/index.html') //it works
});
http.createServer(app).listen(3000, function () {
console.log('Express server listening on port ');
});
提前致谢
答案 0 :(得分:2)
您似乎对视图引擎的含义存在误解。视图引擎采用一些非HTML代码,并将其转换为HTML。在这里,您将其设置为使用jade。
视图引擎仅适用于res.render()
功能。 res.sendfile()
仅从当前目录发送文件,而不是视图目录。
答案 1 :(得分:0)
如果您想提供一些express
HTML文件,请使用static
。您可以直接将这些文件放在public
文件夹中。
当服务器收到GET
/
次请求时,它会搜索/public/index.html
服务作为响应。您不必为router
添加/
。
另外,如果你想使用一些template views
,那么你必须使用一些视图引擎。