uni-app 1.4 釋出,一套程式碼,發行小程式(微信/支付寶/百度)、H5、App多個平臺

CHB發表於2019-01-03

在2019新年到來之際,uni-app 1.4版本正式釋出,新增支援百度、支付寶小程式,開放外掛市場,同時注入更多優秀特性,為開發者送上了一份新年大禮!

支援更多小程式平臺

uni-app 1.4 版本新增支援百度、支付寶小程式,從此一次開發,可釋出小程式(微信/支付寶/百度)、H5、App(iOS/Android)6大平臺!

uni-app 1.4 釋出,一套程式碼,發行小程式(微信/支付寶/百度)、H5、App多個平臺

uni-appHBuilderX開發工具中一直有非常友好高效的支援,提供視覺化操作選單,發行各家小程式簡單便利詳情,這裡不再贅述;本文主要說明如何通過vue-cli編譯發行各家小程式。

使用cli編譯到各家小程式之前,需先安裝vue-cli並建立uni-app專案,主要命令如下:

# npm script
# 全域性安裝vue-cli
$ npm install -g @vue/cli
# 建立uni-app專案,會提示選擇專案模板
$ vue create -p dcloudio/uni-preset-vue my-project
# 進入專案目錄
$ cd my-project
複製程式碼

Tips:如果之前已使用過老版本的uni-app cli外掛,則通過npmuni-app升級到最新版,即可獲得將原有uni-app專案轉換到各家小程式的能力

支援支付寶小程式

使用如下命令進行支付寶小程式的編譯預覽及發行打包

# npm script
# dev 模式,編譯預覽
$ npm run dev:mp-alipay
# build 模式,發行打包
$ npm run build:mp-alipay
複製程式碼

發行到支付寶小程式,需要你下載並開啟支付寶小程式開發者工具,然後選擇專案編譯目錄(dev模式、build 模式編譯目錄不同,見下方說明)進行預覽或發行。

dev模式 和 build 模式的區別:

  • dev 模式編譯目錄為專案根目錄下的 /dist/dev/ 目錄
  • build 模式編譯目錄為專案根目錄下的 /dist/build/ 目錄
  • dev 模式有 SourceMap 可以方便的進行斷點除錯
  • build 模式會將程式碼將會進行壓縮,體積更小更適合釋出為正式版應用

目前hello uni-app 已上線支付寶小程式,可以開啟支付寶,掃描以下二維碼進行體驗:

uni-app 1.4 釋出,一套程式碼,發行小程式(微信/支付寶/百度)、H5、App多個平臺

支援百度智慧小程式

百度智慧小程式的編譯方式與支付寶小程式一致,簡單替換平臺標識(mp-baidu)即可。

你可以使用如下命令進行百度智慧小程式編譯預覽及打包:

# npm script
# dev 模式,編譯預覽
$ npm run dev:mp-baidu
# build 模式,發行打包
$ npm run build:mp-baidu
複製程式碼

發行到百度智慧小程式,需要你下載並開啟百度開發者工具,然後選擇專案編譯目錄進行預覽或發行。

Tips:dev 模式、build模式差異同支付寶小程式

支援通過 cli 命令列編譯到微信小程式平臺

uni-app 很早就支援發行到微信小程式,但需在 HBuilderX 開發工具中操作;uni-app 1.4版本支援通過vue-cli 編譯到微信小程式,方式同支付寶小程式。

你可以使用如下命令進行微信小程式編譯預覽及打包:

# npm script
# dev 模式,編譯預覽
$ npm run dev:mp-weixin
# build 模式,發行打包
$ npm run build:mp-weixin
複製程式碼

同樣,發行到微信小程式,需要你下載並開啟微信開發者工具,然後選擇專案編譯目錄進行預覽或發行。

其它功能特性

uni-app 外掛市場上線了!支援前端元件、js sdk、頁面模板、專案模板、原生外掛等多種型別,還支援原生外掛的雲打包,詳情

外掛市場作為輪子的需求者和製造者之間的對接平臺,將提升所有 uni-app 開發者的效率和重用程度。

另外,uni-app 1.4版本在條件編譯、H5平臺等方面也有大量改建,詳見如下:

  • 新增 條件編譯 static 支援平臺目錄,不同平臺可定義自己的獨有靜態檔案 詳情
  • 新增 條件編譯 支援多平臺“或”運算子:||。例如: // #ifdef MP-WEIXIN || MP-BAIDU 代表在微信小程式和百度小程式均生效
  • 新增 條件編譯 pages.json 支援條件編譯。pages.json裡不引用的頁面不會打包,可以更自由的管理不同平臺檔案的打包策略。
  • 修復 條件編譯 使用 ifndef 導致編譯錯誤的問題
  • 新增 manifest.json 中(mp-weixin 節點下) 新增 permission 配置,用於微信小程式介面許可權相關設定
  • 新增 藍芽相關API 詳情
  • 新增 低功耗藍芽相關API 詳情
  • 新增 iBeacon相關API 詳情
  • 優化 css 編譯報錯提示
  • 修復 v-for item 部分寫法編譯失敗的問題
  • H5平臺 新增 canvas 元件和相關 API
  • H5平臺 優化 導航欄自定義按鈕支援 float 屬性
  • H5平臺 修復 uni.showModal 內容過多顯示超出螢幕的問題
  • H5平臺 修復 picker 元件未設定 value 屬性值時報錯的問題
  • H5平臺 修復 TabBar 頁面 onHide 鉤子函式不觸發的問題
  • H5平臺 修復 map 元件中 marker 影象不顯示的問題
  • H5平臺 修復 AudioContext 事件監聽報錯的問題
  • H5平臺 修復 swiper 元件動態設定 current 後 swiper 不切換的問題
  • H5平臺 修復 swiper 元件設定屬性 previous-margin、next-margin 顯示異常的問題
  • H5平臺 修復 picker 元件顯示的選中項不正確的問題 #103
  • H5平臺 修復 picker 元件動態設定高度後顯示異常的問題
  • H5平臺 修復 radio 元件設定 color 屬性不生效的問題 #119
  • H5平臺 修復 picker 元件 columnchange 事件不觸發的問題

未來規劃

uni-app 將盡快適配位元組跳動小程式,並進一步抹平H5、各家小程式之間的平臺差異,讓開發者儘可能的一套程式碼,順滑的發行到多個平臺。

uni-app 在小程式端,引用和改造了mpvueMegalo,感謝美團點評團隊、網易考拉團隊對開源社群的貢獻!

uni-app會在開源的路上繼續前行,開源地址:github.com/dcloudio/un…;為幫助uni-app更好的成長,更好的服務開發者,歡迎您給uni-app反饋改進意見,或 Star 鼓勵

相關文章