1.在node中,有全局變量process表示的是當(dāng)前的node進(jìn)程
NODE_ENV是一個(gè)由node.js暴露給執(zhí)行腳本的系統(tǒng)環(huán)境變量,通常用于確定在開發(fā)環(huán)境還是生產(chǎn)環(huán)境下,服務(wù)器工具,構(gòu)建腳本和客戶端library的行為,
NODE_ENV 會(huì)賦值給process.evn對(duì)象,作為他的屬性
process.evn.NODE_EVN 其值為“production(生產(chǎn)環(huán)境)”和“development(開發(fā)環(huán)境)”,或者“prod”和“dev”,
if(process.evn.NODE_EVN =="production"){
生產(chǎn)環(huán)境 do something
}else {
開發(fā)環(huán)境 do something
}
2.在webpack構(gòu)建前端工程時(shí),會(huì)經(jīng)常使用,屬性什么時(shí)候賦值給process.env的呢
以webpack的工程為例,通常是運(yùn)行腳本的時(shí)候來做這件事,例如package.json中的腳本為例:
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"test": "npm run unit && npm run e2e",
"build": "node build/build.js"
},
3.注意,說明
NODE_ENV=development在windows環(huán)境下,會(huì)報(bào)錯(cuò),需要修改為 set NODE_ENV=production,為了解決這個(gè)差異,可以使用cross-evn 跨平臺(tái)的設(shè)置和使用環(huán)境變量,這里就不解釋具體使用方法