1

当我将 Express 应用程序推送到我的 Tessel 2 时,我的 Express 应用程序出现问题,我可以让它在本地工作,但是一旦它被推送到另一个系统上,就会出现问题。这是我得到的错误:

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它们似乎都不起作用。我的目录结构index.js作为主节点文件,然后我有一个公共目录,其中包含该index.html文件。

任何帮助将不胜感激。

4

2 回答 2

1

尝试使用绝对路径express.static

app.use('/static', express.static(path.join(__dirname, 'public')))

然后

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

我也建议你应该使用而不是上面的render

res.render('index')
于 2017-07-30T18:20:27.137 回答
0

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

于 2017-08-03T16:29:19.777 回答