我有一個生產環境名稱爲foo
的Express.js應用程序。所以我開始我的應用程序,如NODE_ENV=foo node app.js
。 一般來說這是一個壞主意。NODE_ENV生產替代名稱
現在我的應用程序知道它在生產中,但Express不知道。無論這是一個好主意還是不一般,有沒有辦法告訴Express它正在生產中運行?
我有一個生產環境名稱爲foo
的Express.js應用程序。所以我開始我的應用程序,如NODE_ENV=foo node app.js
。 一般來說這是一個壞主意。NODE_ENV生產替代名稱
現在我的應用程序知道它在生產中,但Express不知道。無論這是一個好主意還是不一般,有沒有辦法告訴Express它正在生產中運行?
我認爲你在濫用NODE_ENV
設置。如果您將該值設置爲production
,即。您正在生產環境中運行Node(您恰巧打電話foo
),Express would read it automatically。
如果您確實必須使用NODE_ENV
用於其他目的,您可以使用app.set('env', 'production');
來設置模式。然後,您需要一種方法來告訴您的應用是否處於生產模式,例如。
if (process.env.NODE_ENV === 'foo') {
app.set('env', 'production');
}
或介紹另一個環境變量和使用它的價值:app.set('env', process.env.REAL_NODE_ENV);
,然後用NODE_ENV=foo REAL_NODE_ENV=production node app.js
來看,我仍然會建議使用另一個環境變量比NODE_ENV
要告訴你的程序的時候,對foo
運行。