有一个程序化的方式来了解node.js应用程序在Heroku中运行吗?

是否有一些variables或函数,我可以打电话来知道一个node.js应用程序在Heroku中运行? 就像是:

if (process.heroku) console.log("I'm in Heroku!"); 

你可以在不设置自定义环境variables的情况下做到 你可以这样做:

 if (process.env.NODE && ~process.env.NODE.indexOf("heroku")) console.log("I'm in Heroku!"); 

这是可能的,因为在Heroku /app/.heroku/node/bin/nodeNODE环境variables被设置为/app/.heroku/node/bin/node

你使用的是通常的环境variables。 只需在你的heroku实例上设置一些variables并检查:

process.env.HEROKU

在heroku cli你会做: heroku config:set HEROKU=true

您也可以在networking界面上设置它,请参阅heroku文档以获得更多信息: https : //devcenter.heroku.com/articles/config-vars