鍍金池/ 問(wèn)答/HTML/ npm 中設(shè)置環(huán)境NODE_ENV變量,判斷失敗

npm 中設(shè)置環(huán)境NODE_ENV變量,判斷失敗

我嘗試通過(guò)package.json 的scripts腳本 修改NODE_ENV的值來(lái)區(qū)分開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境。

腳本
clipboard.png

判斷條件
clipboard.png

結(jié)果
clipboard.png

我打印出的process.env.NODE_ENV 的值已經(jīng)是production 但是判斷起來(lái)依然是false。

請(qǐng)教一下是什么問(wèn)題

回答
編輯回答
離殤

原因你已經(jīng)知道了,但是我還是想回答一下這個(gè)問(wèn)題,因?yàn)橛懈玫姆绞健?/p>

首先,你使用 Windows 的 set 設(shè)置進(jìn)程環(huán)境變量就不是一個(gè)好的做法,因?yàn)檫@段 build 命令無(wú)法在其它平臺(tái)執(zhí)行。但是如果你用 Linux 的方式(直接 key=val)又不兼容 Windows。

有一個(gè)包,叫做 cross-env,它可以用一種方式設(shè)置環(huán)境變量且兼容多種平臺(tái),例如:

cross-env NODE_ENV=production webpack
2018年4月7日 00:17
編輯回答
女流氓

因?yàn)槟愕腘ODE_ENV是【production 】,多了一個(gè)空格~~
1、set NODE_ENV=production&& webpack
2、或者const isProduction = (process.env.NODE_ENV.trim()) === 'production'

2017年6月18日 14:02