1.0.10 • Published 10 months ago

kht-cli-dev v1.0.10

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

1、初始化 lerna

lerna init

2、创建包

lerna create <name>

2)、登录npm网站,创建npm 包名kht-cli-dev

3、安装依赖包

    1、全局安装
        lerna add

    2)、给指定的包安装依赖
        lerna add @kht-cli-dev/utils packages/core/      (本地包之间也可以)
        本地包安装完后运行 lerna link 生成软连接

4、清空依赖
lerna clean


5、lerna link




//删除所有子包的node_modules

lerna exec -- rm -rf node_modules/

//执行指定子包的脚本

lerna exec --scope 子包目录 -- 操作


lerna changed

git add =>push

lerna diff

version:当前版本 npmClient:指定运行命令的客户端,设定为"yarn"则使用 yarn 运行,默认值是"npm"。 command.publish.ignoreChanges:通配符的数组,其中的值不会被 lerna 监测更改和发布,使用它可以防止因更改发布不必要的新版本。 command.publish.message:执行发布版本更新时的自定义提交消息。 command.publish.registry:使用它来设置要发布的自定义注册 url,而非 npmjs.org。 command.bootstrap.ignore:运行 lerna bootstrap 指令时会忽视该字符串数组中的通配符匹配的文件。 command.bootstrap.npmClientArgs:该字符串数组中的参数将在 lerna bootstrap 命令期间直接传递给 npm install。 command.bootstrap.scope:该通配符的数组会在 lerna bootstrap 命令运行时限制影响的范围。 packages :表示包位置的全局变量数组。

除了上面的 init 命令外,项目使用过程中还会用到很多其他有用的命令。

lerna create:此命令的作用是用来创建一个子包名为 xx 的项目。 lerna add:此命令用于安装依赖,格式为 lerna add @version。 lerna list:查看当前包名列表。 lerna link:将所有相互依赖的包符号链接在一起。 lerna exec:在每个包中执行任意命令。 lerna run:在每个包中运行 npm 脚本如果该包中存在该脚本。

1、在 module-a 中引入 module-b,module-a 代码如下。

// module-a 'use strict'; const moduleB = require('module-b'); console.log('moduleB:', moduleB());

module.exports = moduleA;

function moduleA() { return 'it's module a'; }

2、module-b 的代码如下。 // module-b 'use strict';

module.exports = moduleB;

function moduleB() { return 'it's module b'; }

此时,我们运行 node packages/module-a/lib/module-a.js 可能会报错,提示找不到 module-b 模块,这是因为我们还没在 moduleA 中安装依赖,需要使用下面的命令安装依赖

lerna add module-b --scope=module-a

可以看到,module-a node_modules 目录下安装了 module-b 包,重新运行上面的 module-a 代码会输出如下内容。

$ node packages/module-a/lib/module-a.js
moduleB: it's module b

"command": { "publish": { "ignoreChanges": "ignored-file", "*.md", "message": "chore(release): publish", "registry": "https://npm.pkg.github.com" }, "bootstrap": { "ignore": "component-*", "npmClientArgs": "--no-package-lock" } }

1.0.10

10 months ago