在Heroku上部署Nodej无法提供静态文件

时间:2014-12-07 13:52:36

标签: javascript node.js heroku express

我试图做两件我读过的东西,但它不起作用。静态文件没有找到。

这不起作用:

process.env.PWD = process.cwd()
app.set('views', path.join(process.env.PWD, 'public'));

这不起作用:

enter code here app.set(' views',path.join(__ dirname,' public'));

2 个答案:

答案 0 :(得分:8)

由于某些原因,Heroku无法使用__dirname,因此请尝试:

process.env.PWD = process.cwd();

app.set('views', path.join(process.env.PWD, 'public'));

app.use(express.static(path.join(process.env.PWD, 'public')));

当我遇到这个问题时,这对我有用。

答案 1 :(得分:-1)

这是因为,视图是明显的部分,应该在内部"视图"像这样的文件夹

app.set('views', path.join(__dirname, 'views'));

对于静态文件(HTML,CSS,JS),它们应该位于公共文件夹中,因此要从公共文件夹中获取服务器文件

app.use(express.static(path.join(__dirname, 'public'))); 感谢