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

我正在尝试将我的第一个节点应用程序部署到heroku。 我用下面的代码设置了一个Procfile

 web: node ./app/server.js 

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

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

 "start": "nodemon ./app/server.js 

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

在使用nodemon时,更好地维护devproduction脚本命令如下:

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

要确定如何启动您的应用程序,部署服务器( Heroku )首先查找Procfile 。 如果Node.js应用程序不存在Procfile ,它将尝试通过package.jsonstart脚本启动默认的web进程。

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