我正在尝试呈现一个 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。

最佳答案

尝试添加:

 var path = require('path');
 var filePath = "./public/views/index.html"
 var resolvedPath = path.resolve(filePath);
 console.log(resolvedPath);
 return res.sendFile(resolvedPath);

这应该清除文件路径是否是您期望的

关于Node.js - res.sendFile - 错误 : ENOENT but the path is correct,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40894083/

10-10 23:31