随着前端工程化的发展,我们经常需要同时维护多个相互依赖的 npm 包,这时候 lerna 就会变得非常有用。lerna 是一个基于 Git 和 npm 的项目管理工具,它可以帮助我们解决多包管理问题,使得我们能够更加轻松地维护一个项目中的多个 npm 包。
安装 lerna
使用 lerna 首先需要进行安装,可以通过 npm 进行安装:
npm install -g lerna
如果你想在某个项目中安装 lerna,也可以在项目根目录执行:
npm install --save-dev lerna
创建 lerna 项目
创建 lerna 项目也非常简单,只需要在命令行中执行:
lerna init
这样就会在当前目录下创建一个 lerna 项目,并自动在项目根目录下生成 lerna.json 配置文件和 packages 目录。
添加 npm 包
接下来我们可以通过 lerna 来添加新的 npm 包:
lerna create my-package
这会在 packages 目录下新建一个名为 my-package 的 npm 包。
维护多个包
当我们需要同时维护多个包时,我们通常需要为它们设置依赖关系。一种常见的方法是手动维护依赖关系。但是这样做非常费时费力,并且容易出错。
在 lerna 中,我们可以使用 lerna add
命令来为多个包添加依赖关系:
lerna add lodash --scope=my-package-1
这会在 my-package-1 中安装 lodash。
共享依赖和自动升级版本号
当多个包共享同一依赖包时,使用 lerna 可以自动为这些包升级依赖包的版本号。例如:
lerna add webpack --dev
这会为所有需要 webpack 的包安装最新的 webpack,并且自动升级依赖包的版本号。
并行运行命令
如果你有多个包需要编译或者测试,我们可以使用 lerna run
命令来并行运行多个包的命令。例如:
lerna run build
这会自动并行编译所有包。
发布 npm 包
当你准备好将你的更改发布到 npm 时,你可以使用 lerna publish
命令。它会检查当前的代码库,自动升级可发布的包的版本号,并将它们发布到 npm。
lerna publish
结论
使用 lerna 可以帮助我们更轻松地管理多个相互依赖的 npm 包,使得我们能够更加专注于开发。当你准备好进行生产发布时,lerna 又可以帮助你更加轻松地进行版本升级和发布操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/40468