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

Heroku ENOENT: no such file or directory due to faulty express.js routing

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

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

而 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,但没有成功。

看起来文件列表显示 Asteroid 大写。也许尝试将其重命名为小写? 如果您使用的是 express static,则不需要每个文件的路由。所以也许只使用静态或只使用路由。