MorJS 小程序形態(tài)一體化 形態(tài)差異

2024-01-19 14:37 更新

形態(tài)差異是指 小程序、小程序分包、小程序插件 三種不同形態(tài)的運(yùn)行方式差異以及轉(zhuǎn)換為其他形態(tài)之后產(chǎn)生的差異,具體如下:

  • getApp 差異
    • 小程序: 可通過 getApp() 來獲取全局 App 實(shí)例及實(shí)例上掛載的屬性或方法
    • 小程序插件: 無法調(diào)用 getApp()
    • 小程序分包: 可通過 getApp() 來獲取全局 App 實(shí)例及實(shí)例上掛載的屬性或方法;但當(dāng)通過小程序轉(zhuǎn)換為分包后,分包自身原本調(diào)用的 getApp 將失效,并被替換為宿主小程序的 getApp
  • App 應(yīng)用生命周期 差異
    • 小程序: 應(yīng)用會執(zhí)行 onLaunch、onShow、onHide 等生命周期
    • 小程序插件: 無應(yīng)用生命周期
    • 小程序分包: 無應(yīng)用生命周期
  • 全局樣式(如:app.wxssapp.acss)差異
    • 小程序: 可通過全局樣式來聲明全局樣式
    • 小程序插件: 無全局樣式
    • 小程序分包: 無全局樣式
  • NPM 使用限制
    • 小程序: 各個小程序平臺支持和限制情況不一
    • 小程序插件: 各個小程序平臺支持和限制情況不一
    • 小程序分包: 各個小程序平臺支持和限制情況不一
  • MorJS 運(yùn)行時插件/解決方案使用差異
    • 小程序: 可正常使用
    • 小程序插件: 因?yàn)闊o App 無法使用
    • 小程序分包: 因?yàn)闊o App 無法使用
  • 接口調(diào)用限制
  • 路由差異
    • 小程序: 轉(zhuǎn)換到其他形態(tài)后自身路由會發(fā)生變化
    • 小程序插件: 轉(zhuǎn)換到其他形態(tài)后自身路由會發(fā)生變化,跳轉(zhuǎn)插件頁面需要包含 plugin://dynamic-plugin:// 等前綴,小程序或分包則不需要
    • 小程序分包: 轉(zhuǎn)換到其他形態(tài)后自身路由會發(fā)生變化
  • getCurrentPages 差異
    • 小程序: 無限制
    • 小程序插件: 無法通過 getCurrentPages 獲取到小程序的頁面堆棧
    • 小程序分包: 無限制
  • 頁面或組件樣式差異
    • 小程序: 無限制
    • 小程序插件: 基本選擇器只支持 ID 與 class 選擇器,不支持標(biāo)簽、屬性、通配符選擇器
    • 小程序分包: 無限制

等等,相關(guān)形態(tài)差異可結(jié)合各個小程序平臺查看,這里僅羅列常見的部分。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號