express js错误:"express弃用的res.sendfile:请改用res.sendfile&qu



我有这个代码:

app.get('/', function(req, res) {
res.sendfile('public/index.html');
}); 
app.use("/public", express.static(__dirname + '/public'));

这给了我一个错误:

表达不推荐使用的res.sendfile:使用res.sendfile代替

因此,正如这个类似线程中所建议的那样(express js错误:"express deprecated res.sendfile:改用res.sendfile"),我尝试将sendfile重命名为sendFile,但它给了我另一个错误:

TypeError:路径必须是绝对路径或指定根到ServerResponse.sendFile上的res.sendFile
(/Users/nacho4d/dev/enquet/node_modules/express/lib/response.js:394:11)
在/Users/nacho4d/dev-enquet/app.js:37:6

我应该在这里做什么?我不确定我是否应该通过一个绝对路径(因为下一行:app.use("/public", ...。我不太清楚的含义,也不太清楚指定res.sendFile的根。

感谢您的帮助。

我应该在这里做什么?我不确定我是否应该通过一条绝对路径(因为下一行:app.use("/public", ....

我不能声称对express非常熟悉,但我怀疑你必须传递到sendFile的路径是否与路由有关。最有可能的情况是,您只需要向文件系统中的文件传递一个绝对路径。

我也不太清楚指定res.sendFile的根的含义。

如果查看文档,可以看到sendFile接受一个选项对象作为第二个参数。root是选项之一:

root:相对文件名的根目录。

它还有一个示例,显示了如何使用选项(包括root)。

如果你传递一个相对的文件路径,express似乎不知道从哪里开始查找文件(文件所在的目录?服务器启动的目录?),因此它希望你告诉它。

最新更新