-
模块开发工程,固定react版本号为17.0.2,react-dom固定版本号为17.0.2
-
技术栈和 one 项目保持一致,react, react hooks, typescript,one 模块开发脚手架,默认
已支持这些技术栈。
-
模块工程不能使用懒加载,比如 lazy,可以利用 webpack 多入口进行分包,外部引入利用 bebel 按需引入提升加载性能。
-
接口规范,模块内调用的接口统一前缀,防止和 one 接口冲突。
-
模块内统一使用 Context 做全局状态管理,不要引入 mobx,redux 全局状态管理包。
-
图标组件,统一使用 echarts,切记不要全量引入 echarts 图表,而使用按需引入,脚手架中有一个封装好的图表组件,可以直接使用。
-
如果使用到 lodash 库,最新框架已支持babel按需引入,放心使用。
-
全局时间由 one 控制,子模块通过组件参数引入。
-
子模块在接入 one 后,one 会对子模块的分包进行封装后开启懒加载,子模块的加载不会影响 one 项目的整体性能。
-
子模块包不能上传到官网 npm 仓库,需要上传到博睿内部 npm 仓库(仓库后续会搭建并提供)。
-
子模块所有安装的第三方包,去掉^固定版本,根据具体业务需求手动升级。
-
图标库引入,最新框架已支持babel按需引入,放心使用。
-
图片处理,小于 200kb 的图片会自动打包成 base64 到模块分包中,大于 200kb 的图片,有两种处理方式,第一,如果想解耦的话,可以上传至 cdn 或图片服务中,第二,如果不耦合,可以放到 one public 目录,那么模块分包强依赖 one 项目。
-
样式处理,默认情况下,webpack 会以 module 方式打包到 js 文件中,如果有大量的样式文件,且文件大小超过 100kb,可以在 webpack 打包中独立导出样式文件,在 one项目中单独引入。
-
整体原则:严格控制子模块包的大小,提升加载性能,子模块包大小控制在 2M 以内,目
前添加了组件库、图标库、echarts 图表库、lodash 函数,包大小为 760kb,当包有大幅度
增长时,要特别谨慎,根据实际情况进行按需引入或分包处理。