MorJS 代码规范

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

    • 原则上使用 TypeScript 写源代码,并输出 .d.ts 类型申明文件,方便开发同学快速上手,MorJS 提供了多端组件库的脚手架,可以快速初始化项目,并利用 MorJS 进行多端产物输出。
  • 代码输出 ES5 版本:

    • 依赖库输出的版本需要为 ES5 的版本,原因是小程序构建的时候并不会对 node_modules 里面的代码进行 ES6 转 ES5,所以在不支持 ES6 的机型会直接报错
    • 如果采用的是 TypeScript,建议在 tsconfig.json 中把 importHelpers 设置成 true,来减少生成出来的代码体积。注:使用 MorJS 的项目,会建议装 tslib 这个依赖
  • babel 的特别说明:

    • 同样,原则上如果没有特别的需要建议直接用 TypeScripttsc 即可
    • babel 默认情况下针对 async/await 的语法会使用 regenerator-runtime 这个库做 polyfill,而这个库默认情况下是不会声明这个 regeneratorRuntime 变量,因此会在严格模式下报错 Can't find variable: regeneratorRuntime,而库的兜底策略是会采用动态函数赋值(参考 源代码),而动态函数在小程序上由于安全问题不允许执行。所以导致在小程序上会直接报错。
    • 目前 mor bundle 模式针对该问题已经做了兼容兜底
  • 单元测试:

    • 单元测试建议采用 Jest,具体使用上请参考 Jest 官网
    • 建议测试覆盖率达到 90% 以上,Jest 可直接输出代码覆盖率报告
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号