将节点应用程序部署到heroku时无法找到条目文件

时间:2017-09-20 18:49:45

标签: node.js heroku

我试图将我的第一个节点应用程序部署到heroku。我已使用以下代码

设置Procfile
web: node ./app/server.js

但是当我部署到heroku并检查日志时,我看到错误Error: Cannot find module '/app/server.js'

在本地它运作正常。我的package.json嵌套在scripts

下面,我有以下内容
"start": "nodemon ./app/server.js

1 个答案:

答案 0 :(得分:1)

Nodemon是一个实用程序,它将监视源中的任何更改并自动重新启动服务器。非常适合发展。

使用nodemon时,最好维护devproduction的脚本命令,如下所示:

"scripts": {
    "start": "node ./app/server.js",
    "dev": "nodemon ./app/server.js"
  }

要确定如何启动应用,部署服务器(Heroku)首先会查找Procfile。如果Procfile应用不存在Node.js,则会尝试通过start中的package.json脚本启动默认网络流程。

如果您在脚本中使用nodemon,则会在内部尝试运行node server.js,但在您的情况下,启动文件会出现在app/server.js中。为了避免这些问题,最好为devproduction使用两个单独的脚本命令。因此,在本地运行时,您可以使用npm dev命令。