Lerna脚手架搭建(六):框架代码拆包
本文最后更新于:2024年12月10日 下午
一、拆分原则 👈
根据模块的功能拆分:
- 核心模块:core
- 命令模块:commands
- 初始化
- 发布
- 清除缓存
- 模型模块:models
- Command 命令
- Project 项目
- Component 组件
- Npm 模块
- Git 仓库
- 工具模块:utils
- Git 操作
- 云构建
- 工具方法
- API 请求
- Git API
二、core 👈
1.命令执行流程
2.涉及技术点
2.1核心库
-
import-local
-
commander
2.2工具库
-
npmlog:打印日志
-
fs-extra:文件操作
-
semver:版本匹配
-
colors:终端打印文本颜色
-
user-home:获取用户主目录
-
dotenv:获取环境变量
-
root-check:root账户检查
三、拆包步骤 👈
-
在原有 xuven-cli-dev 项目根目录创建
core
、commands
、models
、utils
文件夹; -
编辑根目录
lerna.json
文件如下:
1 |
|
-
将根目录
packages
文件夹里的core
和utils
文件夹分别移动到根目录的core
和utils
下; -
删除根目录
packages
文件夹; -
修改
core/core/package.json
中的dependencies
配置如下:
1 |
|
-
删除
core/core
下的node_modules
文件夹,重新执行npm link
; -
修改
core/core
文件名为core/cli
; -
在
core/cli
下执行cnpm i -S import-local
安装 import-local; -
在
core/cli
下执行cnpm i -S npmlog
安装 npmlog; -
修改
core/cli/bin/index.js
如下:
1 |
|
-
重命名
core/cli/lib/code.js
为core/cli/lib/index.js
; -
修改
core/cli/lib/index.js
如下:
1 |
|
-
执行
xuven-cli-dev
命令提示找不到目录,解决办法:执行npm link
; -
重新执行命令,输出
exec core
; -
回到
xuven-cli-dev
目录,执行cnpm i -D @xuven-cli-dev/core
; -
再次执行
xuven-cli-dev
输出:
1 |
|
-
最后,删除
xuven-cli-dev
目录下的node_modules
文件夹,删除同目录下package.json
的依赖项@xuven-cli-dev/core
,重新执行cnpm i
。