404错误:ENOENT,stat'/ public /从grunt启动应用程序时

时间:2015-02-18 23:23:24

标签: express routing gruntjs

我试图使用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'));

但我仍然没有咕噜咕噜的运气。我究竟做错了什么 ?

2 个答案:

答案 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比它应该的位置低一级,所以我不得不向上移动一级。