我试图使用sedfile尝试提供静态html的快速应用
res.sendfile('/public/testform.html');
当我使用节点app.js启动应用程序时,它可以正常工作。当我尝试使用grunt启动应用程序时,它不起作用,它给了我错误
404错误:ENOENT,stat' /public/testform.html'
我试过了两次
res.sendfile(__dirname+'/public/testform.html');
res.sendfile(path.resolve('/public/testform.html'));
但我仍然没有咕噜咕噜的运气。我究竟做错了什么 ?
答案 0 :(得分:0)
可能与快速静态文件服务有关。
只需将其添加到您的app.js:
app.use('/public',express.static(path.join(__dirname, 'path-to-public/public')));
请通过应用注意我指的是:var app = express();
并确保照顾中间件的顺序。
答案 1 :(得分:0)
我不知道为什么,但我能够让这个工作的唯一方法是以下
app.get('/testform', function (req, res) {
var correctPath = path.join(__dirname, '..','/public/testform.html');
res.sendfile(daPath);
});
路线内的__ dirname比它应该的位置低一级,所以我不得不向上移动一级。