使用一个命令(Angular 和 Nx)将库发布到 NPM
要将库发布到 NPM,我们必须执行简单的步骤: 构建库,编译它。 更改要在库的 package.json 上发布的版本 在您构建的库的文件夹上运行npm publish 这可以手动执行,也可以通过创建一个脚本来完成,该脚本为我们自动完成工作。如果我们考虑一下,这相对容易做到,但让我们考虑一些注意事项🤔: 如果我们不是只有一个库,而是多个库,因为我们使用的是 mono-repo 方法,该怎么办?
要将库发布到 NPM,我们必须执行简单的步骤:
-
构建库,编译它。
-
更改要在库的 package.json 上发布的版本
-
在您构建的库的文件夹上运行
npm publish
这可以手动执行,也可以通过创建一个脚本来完成,该脚本为我们自动完成工作。如果我们考虑一下,这相对容易做到,但让我们考虑一些注意事项🤔:
-
如果我们不是只有一个库,而是多个库,因为我们使用的是 mono-repo 方法,该怎么办?
-
如果我们的第四个库是我们厌倦了一遍又一遍地编写/测试/维护相同的东西怎么办?
-
如果我们只是不想或没有时间和耐心这样做怎么办😅?
使用ngx-deploy-npm,您只需一个命令即可在 Angular 或 Nx 工作区上发布任何类型的库。
any kind 的字面意思是任何一种的可发布库,无论您使用什么技术,Angular、React、Node 或 NestJs 🚀。
您只需要将库放在Angular或Nx工作区上
TL;DR
假设你有:
-
带有可发布库的 Angular 或 Nx 工作区
-
已经使用
npm login
登录到 NPM
通过以下方式发布您的包:
角🅰️
恩克斯🐬
# 安装(只做一次)
添加 ngx-deploy-npm
# 发布
ng 部署你的库
# 安装(只做一次)
nx 生成 ngx-deploy-npm:install
# 发布
nx 部署你的库
使用ngx-deploy-npm
将库发布到 NPM
前置步骤
-
有一个工作区,Angular 或 Nx(它们之间不会有太大的差异)
-
在你的工作空间中有一个可发布的库
-
已经登录NPM,
npm login
无论您在哪个工作区,您都必须执行构建器的安装(仅制作一次),然后您可以执行它以在您想要的时间发布您的库。
角度🅰️
角安装
首先,我们需要将此构建器添加到我们的工作区,这可以通过
ng add ngx-deploy-npm
进入全屏模式 退出全屏模式
这将检测我们所有的库并将您的angular.json
文件修改为_“安装”_这个构建器。您会注意到架构师deploy
已添加到我们工作区的所有库中,它看起来像这样:
"deploy": {
"builder": "ngx-deploy-npm:deploy",
"options": {
"access": "public",
"buildTarget": "production"
}
}
进入全屏模式 退出全屏模式
这就是将包发布到 NPM 所需的所有配置,现在剩下的就是 DEPLOY 🚀
角度发布
ng deploy YOUR-LIBRARY-NAME
进入全屏模式 退出全屏模式
完成后,您的库已发布到 NPM 😊
Nx 🐬
使用 Nx 工作区,该过程不会发生太大变化,您必须先_“安装”_它,然后发布您想要的时间。
Nx 安装
它与Angular Installation并没有太大变化。它具有相同的效果和相同的目标,通过检测您的所有可发布库(我们创建的库)并将相应的架构师deploy
添加到所有这些库中,在您的 Nx 工作区中“安装”构建器。可以通过以下方式完成:
nx generate ngx-deploy-npm:init
进入全屏模式 退出全屏模式
Nx 出版
nx deploy YOUR-LIBRARY-NAME
进入全屏模式 退出全屏模式
完成后,您的库已发布到 NPM 😊
不错的功能🤩
这是npm publish
的包装器,因此所有参数都可以使用相同的名称。
--package-version
您可以仅使用参数--package-version
设置库的未来版本,这将写入您在package.json
上传递的版本。当您在工作区中有版本模式时非常方便。
--build-target
使用此参数,您可以选择构建库的环境。对于 Angular 库来说真的很方便,因为 IVY 他们有一个生产环境。
--dry-run
不会执行任何操作,只是看看会怎样。无需执行任何操作即可非常方便地进行测试和可视化。
发布到私有仓库🔒
此构建器是npm publish
的包装器,因此只需拥有一个配置良好的.npmrc
文件,您就可以在任何地方发布您的包。如果您的.npmrc
文件指向私有 npm 存储库,则ngx-deploy-npm
将在那里顺利发布您的库。
成就🌟
-
🎉
ngx-deploy-npm
在自动部署的 Angular 官方文档中被引用,其中包括 cli部分以及其他构建器。 -
🎉
ngx-deploy-npm
也在Nx Plugins官方页面上被引用。
结论
如果我们的库位于 Angular 或 Nx 工作区中,ngx-deploy-npm
是一种工具,它可以帮助我们通过一个命令将任何类型的库发布到 NPM。它帮助我们自动化图书馆的发布过程,使其变得非常容易
更多推荐
所有评论(0)