Lerna脚手架搭建(三):脚手架项目初始化
本文最后更新于:2024年12月10日 下午
一、开发环境👈
Ubuntu 20.04
Node v16.23.2
二、初始化 npm 项目👈
🟠 执行 mkdir xuven-cli-dev 创建项目文件夹,我这里创建的是 xuven-cli-dev,后续创建的 package 将在此目录下管理;
🟠 执行 cd xuven-cli-dev 进入 xuven-cli-dev 目录;
🟠 执行 npm init -y 初始化 npm 项目。
至此,我们的目录结构如下:
1 |
|
三、lerna 初始化项目👈
🟠 执行 cnpm i -D lerna 在开发环境安装 lerna;
建议全局也安装一个 lerna:cnpm i -g lerna
全局安装的好处是不用在当前 node_modules 下执行 lerna 命令,直接在其它地方也可以执行 lerna 的命令👍
🟠 执行 lerna -v 查看 lerna 版本,我本地的版本是 4.0.0;
🟠 执行 lerna init 初始化 lerna;执行完成后,可以看到根目录下生成了一个 lerna.json 文件,文件里包含了两个属性,
-
packages:创建了 packages 目录,后续添加的 package 都将会放入这个目录下;
-
version:当前项目版本号,创建时是 0.0.0,我们手动将它改为 1.0.0。
从命令执行输出中,我们可以看到一段输出:lerna info Initializing Git repository,此处,lerna 已经帮我们执行了 git 的初始化仓库。
🟠 根目录下创建 .gitignore 文件,用来忽略不需要提交的文件:
1 |
|
至此,我们的目录结构如下:
1 |
|
四、创建 package👈
接下来,我们需要创建两个 package 分别是 core 和 utils:
-
core:主要包含脚手架的 bin 文件;
-
utils:当其它 package 一旦需要使用工具方法时,将依赖此 package。
🟠 执行 lerna create core 创建 core 包,在参数设置中参考以下:
⚠ 注意
此处我使用了包名为 @xuven-cli-dev/core,是因为使用 core 命名的话会上传不上 npmjs 的;版本我这里默认 1.0.0;描述按需写;其它没有输入的直接按回车即可,最后 yes 即可。
1 |
|
🟠 执行 lerna create utils 创建 utils 包:
⚠ 注意
此处包名为 @xuven-cli-dev/utils;其它和上面创建 core 时差不多,这里不多说了。
⚠ 注意
一旦我们把 package name 写成了 @**/** 这种形式,我们在发布上 npmjs 时需要先到 npmjs 创建 Organization;
例如 @xuven-cli-dev/core 这里的前面部分 xuven-cli-dev 就是 Organization 名称,后面的 core 就是包名称;
这样创建的好处是可以避免与 npmjs 上现有的包重复。
至此,我们的目录结构如下:
1 |
|