Lerna脚手架搭建(六):框架代码拆包
本文最后更新于:2026年3月20日 下午
一、拆分原则 👈
根据模块的功能拆分:
- 核心模块: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。