Heroku ENOENT:由于express.js路由错误,没有这样的文件或目录

时间:2017-08-27 18:12:52

标签: node.js express heroku phaser-framework

我看到其他人遇到同样的问题,但我开始相信我的快速文件设置有更深层次的问题,因为其他解决方案没有修复它。

我的想法是拥有一个主页面,然后为我的每个项目添加文件夹。这是我的文件夹结构:

enter image description here

index.js中的代码就是这样:

const express = require('express');
const app = express();


app.listen(process.env.PORT || 5000, function () {
  console.log('Example app listening on port 5000!')
})

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

app.use(express.static('asteroid'));

app.get('/asteroid', function(req, res){
  res.sendFile(__dirname + '/asteroid/');
});

现在和其他许多问题一样,我在日志中看到的问题是"Error: ENOENT: no such file or directory, stat '/app/asteroid/index.html'"。该应用尝试转到/app,但无法找到我的文件。我似乎错过了一些简单的事情。

知道在我的情况下可能导致这种情况的原因是什么?我尝试了{ root: __dirname },用path()加入所有内容,并将__dirname放在任何地方,没有运气。

1 个答案:

答案 0 :(得分:2)

看起来文件列表显示了Asteroid大写。也许尝试将其重命名为小写无处不在? 如果您使用快速静态,那么您不需要为每个文件添加路由。所以也许只使用静态或只使用路线。