通过generator-ngx-library与Yeoman轻松创建和发布下一个Angular库

可以说,Angular是目前最好的JS框架之一! 您现在可能正当地使用它来编写您的Web应用程序和/或以后的Web应用程序(如果不是😱,您应该认真考虑一下)。

后面的社区也非常强大,您可以添加大量库来扩展应用程序(ng-bootstrap,角材料,角火力库等)。

您甚至可能正在考虑自己编写自己的脚本,或者是从头开始编写,或者是通过提取自己创建的共享模块(作为正在使用的大型应用程序的一部分)来实现的。

在这两种情况下,您都会很快发现以正确的方式发布Angular库的过程并不是那么简单。 有太多事情要考虑,例如:

  • 内联组件中的外部样式和模板
  • 编写和编译您的库,使其与Ahead of Time(AOT)编译兼容
  • 分发尽可能小的包装,以减少最终消费者的足迹
  • 通过允许自动完成和编译时类型检查,分发与TypeScript配合使用的软件包
  • 捆绑您的库,以允许大多数用户通过SystemJS或Webpack使用它

而这样的例子不胜枚举。

也许您已经为上个月发布的那个库完成了所有这些工作。 但是现在,您正在开发一个新的令人敬畏的库。 尽管它与前一个完全不同,但是,周围的构建/测试链完全相同,或者非常接近。 而且您厌倦了从一个项目到另一个项目一遍又一遍地复制/重命名文件。

这就是产生generator-ngx-library的原因 !

它是什么?

generator-ngx-library是一个Yeoman生成器,旨在减轻创建和发布Angular库的痛苦/繁琐过程,以便您真正专注于最重要的事情:编写实际的库!

除了生成最少的代码以使您快速入门之外,它还为您提供了完整的构建和即用型测试设置,并与流行的工具集成在一起以改善您的工作流程,代码质量和维护。

特征

这些是生成器涵盖的一些主要功能:

  • 提前 (AOT)编译, 扁平化ES模块 (FESM), [最小化] UMD捆绑包 , 闭包编译器支持(遵循Angular封装格式)
  • 基于codelyzer规则的代码整理
  • 内联在组件中的样式和模板
  • SASS / SCSS到CSS的编译
  • 使用angular-cli和ng-bootstrap构建的集成演示应用程序
  • 使用compodoc构建并与演示应用程序一起发布的项目文档
  • 与Travis CI的持续集成
  • 使用Karma和Webpack 测试环境
  • Coveralls.io的代码覆盖率
  • 使用Greenkeeper 进行npm依赖关系 的实时监控和自动更新
  • 发布到npm注册表
  • 发布到Github

你看? 该工具确实可以为您处理一切!

如何安装 ?

确保首先安装了先决条件(Yeoman Yo,Gulp CLI和Angular CLI):

  $ npm install -g yo gulp-cli @ angular / cli 
  //或通过 Yarn 
  $ yarn add global yo gulp-cli @ angular / cli 

然后,只需安装生成器:

  $ npm install -g generator-ngx-library 
  //或通过 Yarn 
  $ yarn add global generator-ngx-library 

如何创建您的图书馆?

很简单。 创建您的库的根文件夹,进入其中并运行:

  yo ngx图书馆 

回答提示您的问题:

generator-ngx-library提示

这将生成一个包含库的完全git-ready项目,并基于您在初始化期间提供的确切选项和答案。