在實際項目開發中,經常會碰到需要判斷環境變量的情景。
在 vue-cli 的環境下,已經默認配置了一個NODE_ENV的環境變量。當 npm run dev 時,環境變量是development ;當 npm run build 時,環境變量是production。
用過vue-cli開發的通常對NODE_ENV都不陌生,比如我們配置ajax請求的域名頭時,就是通過判斷 process.env.NODE_ENV來實現的。
上面的process.env.NODE_ENV是vue-cli默認配置的,但是在實際項目開發中,只有開發環境和生產環境是還不夠。比如我們還想來一個測試壞境,這時候就需要自己定義了。
實現步驟:
1、安裝cross-env

增加一個環境變量,在dev下加一個 devtest 命令:
這樣就可以通過 npm run devtest 也能啟動整個服務了。
注意上面的命令,我們加了一個TESTING=true,這個就是加入的環境變量TESTING:true。通過上面的devtest的配置,我們就可以運行 npm run devtest 像 npm run dev 那樣運行起來整個程序。
不過發現,此時在項目中我們獲取不到 process.env.TESTING 這個變量,這是為什么呢?如果是直接用webpack是可以的,經過查看,是在vue-cli的一系列配置文件中,已經寫死了這些,因此需要改動加上。
在根目錄 config下,有 dev.env.js 和 prod.env.js ,這兩個文件就是關鍵了,我們在NODE_ENV下面加一行 TESTING:process.env.TESTING
