Express 应用找不到 index.html

Express app cannot find index.html

我将 Express 应用程序推送到我的 Tessel 2 时遇到问题,我可以在本地运行它,但是一旦将其推送到另一个系统,就会出现问题。这是我收到的错误:

Error: ENOENT: no such file or directory, stat '/tmp/remote-script/public/index.html'
    at Error (native)

这是我的 Express 路线设置:

app.use('/static', express.static('public'))

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

我尝试了几个不同的文件路径位置,例如 /../public/index.html 和 none 似乎都可以。我的目录结构有 index.js 作为主节点文件,然后我有一个 public 目录,其中包含 index.html 文件。

如有任何帮助,我们将不胜感激。

express.static

中尝试使用绝对路径
app.use('/static', express.static(path.join(__dirname, 'public')))

然后

res.sendFile(path.join(__dirname, '/public/index.html'));

此外,我建议您使用 render

而不是上面的方法
res.render('index')

这最终成为 Tessel 2 而不是 Node 的问题,我需要更新 .tesselinclude 文件以将 public 目录推送到设备,如下所示:public/**