尝试将MySQL和Node.js应用程序部署到heroku,在本地运行heroku时未部署,成功但没有浏览器

时间:2020-10-03 00:59:05

标签: mysql node.js heroku deployment

嗨,这是我第一次使用MySQL作为数据库构建node.js应用程序,我正在尝试将该应用程序部署到heroku。我已经知道了使用附加的cleardb与MySQL的连接。现在剩下的就是我要部署它了。因此,在实际部署应用程序之前,我尝试在本地进行测试。因此,我运行命令heroku local,看到的全部是server running on 8080!,我已将Procfile配置为指向文件app.js。一切都成功运行,但该应用程序无法启动。我也尝试配置启动脚本,但是发生了同样的事情。这是我的应用程序的存储库:https://github.com/ruben-olmos/join-us-app

存储库小而简短。代码有问题吗?我在云9上本地运行了它,但是它在这里似乎不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在您的package.json中没有启动脚本,因此Heroku需要启动脚本来运行您的应用,即npm start

解决方案:

在您的package.json中,添加:

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node ./app.js"
  },

所以,现在您的Heroku知道要运行哪个应用了。

第二个问题是,您的MySQL连接位于localhost上,因此,您是否在heroku上进行了更改?

如果您真的想使用mysql,则有两条路径可供选择。

  1. 在本地运行mysql,但是在使用mysql2psql gem迁移到Heroku时转换为postgres,如下所述:https://devcenter.heroku.com/articles/heroku-mysql

  2. 使用https://addons.heroku.com/cleardb之类的mysql插件