問題描述
現(xiàn)在需要實現(xiàn)一個按鈕,點擊時需要根據(jù)當(dāng)前不同的發(fā)布環(huán)境,跳轉(zhuǎn)到不同的地址,這其實就是要根據(jù)不同的環(huán)境打配置不同的包;
解決方案
查閱umi官網(wǎng) 發(fā)現(xiàn)可以通過環(huán)境變量 UMI_ENV 區(qū)分不同環(huán)境來指定配置

image.png
可以配置多份.umirc.env.js文件或config.env.js文件來區(qū)分不同的環(huán)境配置,中間的env用于區(qū)分環(huán)境;
其中不帶中間那個后綴的文件為默認配置,會在所有環(huán)境生效,打包時默認環(huán)境配置與指定的環(huán)境配置會合并,兩者沖突時,指定的環(huán)境配置會覆蓋默認配置
[圖片上傳中...(image.png-917e68-1618626930137-0)]
區(qū)分好文件后通過defineConfig 方法參數(shù)中的 define 屬性來定義變量

image.png
設(shè)置好配置文件之后還需要在打包的時候區(qū)分環(huán)境,以調(diào)用不同的配置,這里要用到一個包cross-env ,它可以跨平臺設(shè)置環(huán)境變量;
安裝好后修改package.json里的打包指令即可

image.png
在配置文件里定義的變量可以在項目代碼中直接使用

image.png