使用NP包发布Angular模块

这是有关我对ngx-feature-toggle模块所做的改进的帖子之一,今天的主题是:如何发布我的angular模块或angular应用程序的新版本。

直到几个月前,我们还有几种发布Angular包,独立包,模块或应用程序的方法。 当前,我们可以直接使用@angular/cli通过CLI命令创建,运行测试,验证,构建以及其他功能,这确实很有用。

Angular第6版现已发布

Angular的6.0.0版本已发布! 这是一个主要版本,其重点不在于基础框架,而在于……

blog.angular.io

您可以在Angular文档的“发布库”部分中了解有关此内容的更多信息

这样,我们就可以使用具有相同支持的相同功能来构建出色的库。 您只需要运行这些命令,您的所有支持都是最新的。 但是一个好的软件包应该遵循一些好的软件原理。

发布版本必须基于语义版本控制。 创建该标准是为了确保使用该组件的项目升级尽可能顺利。

自开始以来,我们需要保留一个changelog(a)文件,其中包含项目中发生的所有更改。 通常,在开源(和非开源)项目中,请保留更改/功能/修复程序/等。 在名为CHANGELOG.md的文件中

需要有一个定义明确的流程来构建,捆绑和发布。 但是,正如您在不同的Angular项目中看到的那样,发布Angular模块的方式有很多,并且以覆盖要发布的不同包类型的方式为基础,例如ESM2015FESM2015FESM5ESM5UMD以及更多的NG -Packagr建成。

Angular CLI团队应用的另一个不错的决定是使用ng-packagr将发布的Angular库与Angular-CLI集成,该软件包将您的库转换为Angular软件包格式。

一些项目正在使用Shell脚本…

…甚至使用Angular Material上使用的Gulp构建系统。

但是,默认情况下, npm publish命令不会触发任何测试和验证。 那么您在那种情况下我们会做什么?

为了解决这种情况并避免使用不同的方法发布程序包,并采用一种简单的方式来发布新版本,并使用本文中以及此处介绍的所有步骤,我很高兴地分享我对文件夹内容的支持,该支持已存在于np publish命令。

如何使用它:

  • 跟踪np触发的npm事件: testversionpublish
  • 确保由NG-Packagr内部生成的具有package.json的bundle文件夹在根文件夹中具有package.json
  • 高兴的是,您不需要更多的shell脚本或手动步骤即可发布代码!

到此为止。 请按照以下步骤操作,对于Angular应用程序,运行np --no-yarn --contents=./dist ,或运行np —-no-yarn --contents=./dist/ ,如果您正在发布Angular模块,那么您就可以顺利开始了! 🎉🎉🎉

如果您想查看示例,请查看ngx-feature-togglengx-skeleton-loader软件包的设置。

…如果我告诉你可以使用@angular/cli并将其所有组件添加到那里,将其用作单一存储库怎么办? 但这是另一篇文章的主题😉

ya