尝试将node.js应用程序部署到heroku时出现“方法不允许”错误

时间:2018-02-18 02:15:00

标签: node.js express heroku

尝试部署到Heroku时,我一直得到方法不允许错误。

日志信息不多:

Server is started !

 2018-02-18T01:55:03.853131+00:00 heroku[web.1]: State changed from 
 starting to up
 2018-02-18T01:59:08.949257+00:00 heroku[router]: at=info method=GET 
 path="/" host=tyler-dev.herokuapp.com request_id=d19953f5-ab72-4374-
 8bb3-1c391b72912b fwd="74.135.3.158" dyno=web.1 connect=0ms service=41ms 
 status=404 bytes=380 protocol=https




2018-02-18T01:59:08.949562+00:00 app[web.1]: Error: ENOENT: no such file 
 or directory, stat '/Users/tyler/WebDev/portfolio/main/views/index.html'
 2018-02-18T01:59:09.910620+00:00 heroku[router]: at=info method=GET 
 path="/favicon.ico" host=tyler-dev.herokuapp.com request_id=04a7bd40-
 ea40-4806-ba01-b4dd318d41eb fwd="74.135.3.158" dyno=web.1 connect=0ms 
 service=4ms status=404 bytes=394 protocol=https

表示缺少的文件不在,并且位于该位置。 在本地运行应用程序时,一切正常。 这是我的节点/快速应用程序设置。

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

app.set('port', (process.env.PORT || 5000));

app.listen(app.get('port'), function(){
    console.log("Server is started!")
});

有没有人有这样的事情发生在他们身上?

我是否设置了Heroku的错误?

任何帮助都会很棒,谢谢!

1 个答案:

答案 0 :(得分:0)

这是一篇较旧的帖子,但可能是你需要path.resolve而不是path.join。

Serving static files from an express/node.js application