app.get(`/`, (req, res, next) => {
console.log(`in / get`);
const indexHtml = path.resolve( __dirname + '/../public/index.html' );
res.sendFile(indexHtml);
next();
});
我正在尝试使用express在我的主路线上显示这个index.html,但它没有加载。我得到了控制台日志,我控制台记录了indexHTML以确保路径正确,但我得到的是一个无法获取的错误。 我带来的所有其他路线都工作正常。不是这个人。
答案 0 :(得分:1)
在next()
之后移除对res.sendFile()
的来电。您希望res.sendFile()
完全处理响应,但是调用next()
将控制传递给其他处理程序,可能最终在404处理程序中,因为它不必读取磁盘,它会被处理在res.sendFile()
完成工作之前。
发送回复时,您不想调用next()
,因为您不希望链中的任何其他请求处理程序运行。