Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

LegoFlow Next

如何创建项目

开发构建核心

➪ 解构目的

过往我们会把开发构建前端依赖的 node_modules(例如 webpack \ loaders 等)都放置到全局 CLI 上,由全局的 CLI 统筹所有的开发构建任务。

这样慢慢 CLI 功能就会变得越来越臃肿庞大,更加需要不断去维持往下兼容,导致 CLI 技术债务积累到一定程度就需要进行断层更新。

LegoFlow v3 为了彻底解决这样的问题,解构分离 CLI 与 Engine。

CLI 单单作为创建项目脚手架的处理器,基本功能即为拉取 远程模板 进而创建项目。

Engine 作为项目的依赖,内置在项目 node_modules 内,基本功能为提供 基本的 webpack 配置,以及 开发 / 构建 两个阶段的指令。

这样的解耦方式,虽然根源解决了上述问题,但同时引发两个可预见的问题:

  1. 项目依赖 node_modules 占用磁盘空间变大,初始安装时间变长
  2. 单次 CI 构建耗时变长

问题 1 尚可接受。问题 2 严重影响构建发版效率,因而延展出优化 lf next CI 构建方案:

  1. CI Cache 缓存策略

在多次缓存设置中,发现命中缓存的稳定性并不可靠

  1. Docker Image 容器主动缓存

容器内建立固定路径下的缓存 node_modules,主动 cp 到目标项目内,绝大部分依赖可复用情况下,安装效率有效优化

LICENSE

MIT

You can’t perform that action at this time.