错误:ENOENT:没有这样的文件或目录,错误时统计“/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>

和文件夹结构:

原文由 pradeep murugan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 421
2 个回答

由于服务器和索引文件都在“公共”目录内,您可以简单地使用:

 res.sendfile('./main.html');

要回答评论中的问题:在 Express 4.x 中, sendfile 方法被 sendFile 方法取代(全部小写 -> camelCase)。可能只是早期版本中的一个疏忽,在后者中得到了修复。

原文由 Bernard Saucier 发布,翻译遵循 CC BY-SA 4.0 许可协议

对我来说使用“。”在路径中不起作用,相反,我将其调整为:

 res.sendFile(__dirname + '/public/main.html');

原文由 Shubham joshi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题