有的時(shí)候,我們需要將開(kāi)發(fā)的應(yīng)用發(fā)布到不同的平臺(tái),例如同樣是發(fā)布到H5平臺(tái),可能還會(huì)再分線上平臺(tái)、開(kāi)發(fā)平臺(tái)等等,對(duì)于不同的平臺(tái)可能會(huì)涉及到接口域名、秘鑰配置等等的差異性,但是如果每次編譯到不同的平臺(tái)都要進(jìn)行手動(dòng)修改相應(yīng)的地方就太麻煩了,uniapp給我們提供了一種自定義條件編譯平臺(tái)的方式,方便我們運(yùn)行、編譯到我們自定義的平臺(tái)。下面用一個(gè)例子來(lái)說(shuō)明一下。
一、在package.json中增加uni-app擴(kuò)展節(jié)點(diǎn)
{
/**
package.json其它原有配置
*/
"uni-app": {// 擴(kuò)展配置
"scripts": {
"custom-platform": { //自定義編譯平臺(tái)配置,可通過(guò)cli方式調(diào)用
"title":"自定義擴(kuò)展名稱", // 在HBuilderX中會(huì)顯示在 運(yùn)行/發(fā)行 菜單中
"browser":"", //運(yùn)行到的目標(biāo)瀏覽器,僅當(dāng)UNI_PLATFORM為h5時(shí)有效
"env": {//環(huán)境變量
"UNI_PLATFORM": "h5", //基準(zhǔn)平臺(tái)
"VUE_APP_TEST_NAME": "", // ... 其他自定義環(huán)境變量,需要以VUE_APP_開(kāi)頭
},
"define": { //自定義條件編譯
"CUSTOM-CONST": true //自定義條件編譯常量,建議為大寫(xiě)
}
}
}
}
}
- UNI_PLATFORM僅支持填寫(xiě)uni-app默認(rèn)支持的基準(zhǔn)平臺(tái),目前僅限如下枚舉值:h5、mp-weixin、mp-alipay、mp-baidu、mp-toutiao、mp-qq
- browser 僅在UNI_PLATFORM為h5時(shí)有效,目前僅限如下枚舉值:chrome、firefox、id、edge、safari、hbuilderx
- package.json文件中不允許出現(xiàn)注釋,否則擴(kuò)展配置無(wú)效
二、定義好之后HBuilderX的菜單變化
1.運(yùn)行
運(yùn)行
2.發(fā)布
發(fā)布
三、代碼中使用自定義的平臺(tái)(跟其他內(nèi)置平臺(tái)編譯方式一致)
#例如:在JS中的使用
// #ifdef CUSTOM-CONST
自定義平臺(tái)特有代碼
// #endif

