错误:ENOENT:没有这样的文件或目录,错误(本地)stat'/public/main.html'
这是我的server.js
文件:
var express = require('express'), app = express(); app .use(express.static('./public')) .get('*',function (req,res) { res.sendfile('/public/main.html'); }) .listen(3000);
这是我的main.html
:
<!DOCTYPE html> <html> <head> <titel>Contacts</titel> <base href'/'> </head> <body> <div class="container"> <div class="page-header"> <h1>Contatcs</h1> </div> </div> </body> </html>
和文件夹结构:
既然服务器和索引文件都在“公共”目录下,你可以简单地使用:
res.sendfile('./main.html');
你错过了点 。 请记住相对目录是
res.sendfile('./public/main.html');
res.sendfile('/public/main.html');
应该改成
res.sendfile('./public/main.html');
我有同样的问题。 在给heroku发邮件之后,我的是个大小写敏感的问题。 我的一个文件全部大写,我必须从那里进行调整。
虽然OP的原因是不同的这个错误,我得到了同样的错误,由于不同的原因,所以我张贴这个为其他人来到这里。
我有一个服务器端脚本,正在改变当前的目录。 由于我们在sendfile
使用相对path,所以在脚本运行之后,我开始看到这个错误。 这个shell脚本正在被Node运行。
这个解决scheme适用于我:
res.sendfile('./main.html');