【发布时间】:2017-04-15 02:43:51
【问题描述】:
我正在尝试渲染 index.html,但我得到错误 enoent,即使路径正确。
//folders tree
test/server.js
test/app/routes.js
test/public/views/index.html
//routes.js
app.get('*', function(req, res) {
res.sendFile('views/index.html');
});
//server.js
app.use(express.static(__dirname + '/public'));
require('./app/routes')(app);
我也试过
res.sendFile(__dirname + '/public/views/index.html');
如果我使用
res.sendfile('./public/views/index.html');
然后它可以工作,但我看到一条警告说 sendfile 已弃用,我必须使用 sendFile。
【问题讨论】:
-
当您将
console.log放入sendFile的路径时会发生什么?你得到你期望的路径了吗? -
它给了我路径'/Users/me/Desktop/test/app/public/views/index.html',它应该是正确的路径
-
你试过
res.sendFile('/views/index.html');吗? -
with res.sendFile('/views/index.html');我得到错误:ENOENT: no such file or directory, stat '/views/index.html' at Error (native)
-
实际上,如果您只是提供静态文件,则预期的事情是根本没有定义路由,这就是静态中间件的作用。