Express app找不到index.html

时间:2017-07-30 18:07:18

标签: node.js express tessel

当我将Express应用程序推送到Tessel 2时,我的Express应用程序出现问题,我能够在本地工作,但一旦将其推入另一个系统,就会导致问题。这是我得到的错误:

let sortedRestaurants = restaurantIds.flatMap{ id in
    returnedRestaurant.filter{$0.restaurantId == id }.first
}

这是我的快速路线设置:

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

我已经尝试了几个不同的文件路径位置,例如app.use('/static', express.static('public')) app.get('/', function (req, res) { res.sendFile(path.join(__dirname + '/public/index.html')); }) ,但它们似乎都不起作用。我的目录结构有/../public/index.html作为主节点文件,然后我有一个公共目录,里面有index.js文件。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试在express.static

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

然后

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

另外我建议您使用render

而不是上述内容
res.render('index')

答案 1 :(得分:0)

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