Node.js Heroku节点环境变量
我正在运行一个节点项目,Heroku是我的主要部署目标。在开发环境中,我使用grunt启动web服务器,但是在生产环境中,我更喜欢使用Node.js Heroku节点环境变量,node.js,heroku,Node.js,Heroku,我正在运行一个节点项目,Heroku是我的主要部署目标。在开发环境中,我使用grunt启动web服务器,但是在生产环境中,我更喜欢使用节点应用程序直接启动应用程序 这是我的文件: web: bin/web 和bin/web: #!/bin/sh echo "NODE_ENV=" $NODE_ENV if [ "$NODE_ENV" == "product
节点应用程序直接启动应用程序
这是我的文件:
web: bin/web
和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
第一个echo
用于调试。heroku日志显示:
app[web.1]: NODE_ENV=
基本上,意思是没有设置NODE_ENV。(应用程序以grunt开头,而不是节点应用程序
)
假设“NODE_ENV环境变量默认为production,但如果愿意,可以重写它”
我遗漏了什么?不确定您是否发现了这个问题,但我遇到了同样的问题,并使用以下方法修复了它:
heroku config:set NODE_ENV=production
通过
祝你好运 你们把它放在你们的procfile里了吗?我是个白痴,你们在命令行里运行的这个东西,看起来和procfile很相似,所以我很困惑。