2017-02-07 66 views
1

在我的節點應用程序中,我試圖區分應用程序的開發版本和生產版本。當我運行的WebPack-dev的服務器,我用下面的命令:使用webpack-dev-server運行節點應用程序時設置環境變量?

NODE_ENV =發展的WebPack-DEV-服務器--inline --hot --content基./public

在我的申請,我嘗試使用process.env.NODE_ENV讀取NODE_ENV中的內容,但它似乎爲空。這不是使用webpack-dev-server時設置環境變量的正確方法嗎?

編輯:這是在我的React應用程序。我使用Express來爲生產中的應用程序提供服務,但我只是使用webpack-dev-server進行開發。

+0

的WebPack開發服務器是提供靜態客戶方的文件,而不是服務器端代碼。你在哪裏檢查變量? – Paul

+0

哦對不起,我應該澄清我正在使用網絡包開發服務器爲我的React應用程序。在我的React應用程序中,我希望有一個if語句來查看我是否處於開發或生產階段。根據我是否處於開發或生產階段,在進行api調用時(本地主機vs生產鏈接),我會使用兩個不同的url。 – Andrew

回答

2

設置可在運行時通過process.env.NODE_ENV訪問的環境變量NODE_ENV特定於Node.js,並且在客戶端代碼中不可用。爲了讓您的客戶方代碼中可以使用的WebPack的DefinePlugin:有關設置環境變量

plugins: [ 
    new webpack.DefinePlugin({ 
    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) 
    }) 
] 

的更多信息:https://webpack.js.org/guides/production-build/#node-environment-variable

相關問題