MorJS 代碼規(guī)范

2024-01-25 11:51 更新
  • 源代碼:

    • 原則上使用 TypeScript 寫源代碼,并輸出 .d.ts 類型申明文件,方便開發(fā)同學快速上手,MorJS 提供了多端組件庫的腳手架,可以快速初始化項目,并利用 MorJS 進行多端產(chǎn)物輸出。
  • 代碼輸出 ES5 版本:

    • 依賴庫輸出的版本需要為 ES5 的版本,原因是小程序構(gòu)建的時候并不會對 node_modules 里面的代碼進行 ES6 轉(zhuǎn) ES5,所以在不支持 ES6 的機型會直接報錯
    • 如果采用的是 TypeScript,建議在 tsconfig.json 中把 importHelpers 設(shè)置成 true,來減少生成出來的代碼體積。注:使用 MorJS 的項目,會建議裝 tslib 這個依賴
  • babel 的特別說明:

    • 同樣,原則上如果沒有特別的需要建議直接用 TypeScripttsc 即可
    • babel 默認情況下針對 async/await 的語法會使用 regenerator-runtime 這個庫做 polyfill,而這個庫默認情況下是不會聲明這個 regeneratorRuntime 變量,因此會在嚴格模式下報錯 Can't find variable: regeneratorRuntime,而庫的兜底策略是會采用動態(tài)函數(shù)賦值(參考 源代碼),而動態(tài)函數(shù)在小程序上由于安全問題不允許執(zhí)行。所以導致在小程序上會直接報錯。
    • 目前 mor bundle 模式針對該問題已經(jīng)做了兼容兜底
  • 單元測試:

    • 單元測試建議采用 Jest,具體使用上請參考 Jest 官網(wǎng)
    • 建議測試覆蓋率達到 90% 以上,Jest 可直接輸出代碼覆蓋率報告
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號