要将库发布到 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

前置步骤

  1. 有一个工作区,Angular 或 Nx(它们之间不会有太大的差异)

  2. 在你的工作空间中有一个可发布的库

  3. 已经登录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。它帮助我们自动化图书馆的发布过程,使其变得非常容易

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐