Gitee 移动端项目分离总结
与上次的移动端项目拆分方案相比,做了以下改动:
- 分离了部分移动端 css 文件
- 改用 git+https 方式从 git 代码库中安装移动端的构建产物,省去了发版、上传 npm 包和刷新淘宝源的麻烦
分离后,主仓库在生产环境下的全量构建耗时减少约 11.65%,具体测试结果如下:
版本 | 切换版本后第一次 | 第二次 | 第三次 | 第四次 | 后三次平均 |
---|---|---|---|---|---|
分离后 | 178.40s | 78.47s | 77.44s | 76.57s | 77.49s |
分离前 | 233.72s | 89.76s | 84.73s | 88.64s | 87.71s |
现在的移动端项目代码并未完全与主仓库分离,主仓库中还存在一些移动端的代码,主要原因如下:
- css 文件依赖关系复杂,拆分难度大
- 部分页面的 js 和 css 文件是由 Rails 的 Asset Pipeline 管理的,它们只能在主仓库中
对于这些问题,在开发初期如果有良好的模块化意识和开发规范约束话都是可以避免的,例如:
- 统一使用 Webpack 打包 css 和 js 文件,尽量不依赖 Rails 环境的工具和资源
- js 和 css 代码应该根据功能、作用范围划分文件和目录,以便区分和查找