将节点应用程序部署到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时,更好地维护dev
和production
脚本命令如下:
"scripts": { "start": "node ./app/server.js", "dev": "nodemon ./app/server.js" }
要确定如何启动您的应用程序,部署服务器( Heroku
)首先查找Procfile
。 如果Node.js
应用程序不存在Procfile
,它将尝试通过package.json
的start
脚本启动默认的web进程。
如果你在脚本中使用nodemon
,它会在内部尝试运行node server.js
但在你的情况下启动文件存在于app/server.js
。 为了避免这些问题,最好使用两个单独的脚本命令进行dev
和production
。 因此,在本地运行时,可以使用npm dev
命令。