我正在运行一个Node项目,Heroku作为我的主要部署目标.在开发环境中我使用grunt来启动Web服务器,但是在生产中我更喜欢直接启动应用程序node app
这是我的Procfile:
web: bin/web
Run Code Online (Sandbox Code Playgroud)
和bin/web:
#!/bin/sh
echo "NODE_ENV=" $NODE_ENV
if [ "$NODE_ENV" == "production" ]; then
echo "Starting the server with node app"
node app
else
echo "Starting the server using grunt"
grunt
fi
Run Code Online (Sandbox Code Playgroud)
第一个echo是调试.heroku日志显示:
app[web.1]: NODE_ENV=
Run Code Online (Sandbox Code Playgroud)
基本上,意思是没有设置NODE_ENV.(并且应用程序以grunt开头而不是node app)
该文件说,"该NODE_ENV环境变量默认为生产,但如果你愿意,你可以重写它"
我错过了什么?
Chr*_*ton 36
不确定你是否想出来,但我有同样的问题,并使用以下方法修复:
heroku config:set NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)
通过https://devcenter.heroku.com/articles/nodejs-support.
祝好运!
| 归档时间: |
|
| 查看次数: |
10741 次 |
| 最近记录: |