美文网首页
Angular从创建库到引用库

Angular从创建库到引用库

作者: Arthur_Pluto | 来源:发表于2019-08-26 10:40 被阅读0次

前序:

你可以创建和发布新库来扩展 Angular 的功能。如果你发现需要在多个应用中解决同样的问题(或者想与其他开发者共享你的解决方案),你就有了一个潜在的库。

创建库

  1. 使用 Angular CLI,用以下命令生成一个新库的骨架
   ng generate library my-lib

2.此时在你的工作区中创建 projects/my-lib 文件夹,里面包含 NgModule 中的一个组件和一个服务。该工作区的配置文件 angular.json 中也添加了一个 'library' 类型的项目。

"projects": {
  ...
  "my-lib": {
    "root": "projects/my-lib",
    "sourceRoot": "projects/my-lib/src",
    "projectType": "library",
    "prefix": "lib",
    "architect": {
      "build": {
        "builder": "@angular-devkit/build-ng-packagr:build",
        ...

3.使用 CLI 命令来构建、测试和 lint 这个项目

   ng build my-lib
   ng test my-lib
   ng lint my-lib

注意:

该项目配置的构建器与应用类项目的默认构建器不同。此构建器可以确保库永远使用 AoT 编译器构建,而不必再指定--prod标志。
要让库代码可以复用,你必须为它定义一个公共的 API。这个“用户层”定义了库中消费者的可用内容。该库的用户应该可以通过单个的导入路径来访问公共功能(如NgModules、服务提供商和工具函数)。

库的公共 API 是在库文件夹下的 public-api.ts 文件中维护的。当你的库被导入应用时,从该文件导出的所有内容都会公开。请使用 NgModule 来暴露这些服务和组件。

你的库里应该提供一些文档(通常是 README 文件)来指导别人安装和维护。

与 CLI 集成

库中可以包含那些能与 Angular CLI 集成的 schematics

  • 包含一个安装型 schematic,以便 ng add 可以把你的库添加到项目中。
  • 包含一些生成型 schematic ,以便 ng generate 可以为项目中的已定义工件(组件,服务,测试等)生成脚手架。
  • 包含一个更新(update)原理图 ,以便 ng [update](https://www.angular.cn/api/forms/NgModel#update) 可以更新此库的依赖,并针对新版本中的破坏性变更提供辅助迁移。

要了解更多信息,参见 原理图概览供库使用的原理图

发布你的库

使用 Angular CLI 和 npm 包管理器来把你的库构建并发布成 npm 包。默认情况下,库是在 AoT模式 下构建的,因此在构建发布时你不需要指定-prod标志。

   ng build my-lib
   cd dist/my-lib
   npm publish

如果你之前从未在 npm 中发布过包,就必须创建一个用户帐号。点此阅读发布 npm 包的更多信息。

在应用中使用自己的库

你不必把库发布到 npm 包管理器上就可以在自己的应用中使用它,但必须先构建它。
要想在应用中使用你自己的库:

  • 构建该库。在构建之前,无法使用库。
   content_copy
   ng build my-lib
  • 在你的应用中,按名字从库中导入:
   content_copy
   import { myExport } from 'my-lib';

相关文章

  • Angular从创建库到引用库

    前序: 你可以创建和发布新库来扩展 Angular 的功能。如果你发现需要在多个应用中解决同样的问题(或者想与其他...

  • 使用AngularCLI快速开发一个Library

    过程如下: 使用 Angular CLI 创建 Lib库 的骨架 开发 Lib库 打包 Lib库 的资源文件和全局...

  • 创建Angular npm库

    创建一个Angular库总是一个被关注的话题,随着Angular6的发布,创建库变得更统一和容易.这篇文章介绍基于...

  • nuget 打包上传

    1、创建项目2、nuget spec -Force 生成nuspec 文件nuspec 引用库:依赖库

  • Angular第三方库开发实践

    从接触Angular到如今,做了不少Angular项目,使用了不少第三方库,但是却没有勇气触碰第三方库的开发,一是...

  • CocoaPod 私有库的使用方式

    创建及配置方式 到远程仓库创建工程 查看本地索引库 添加私有索引库 创建组件库 使用组件库模板创建 添加组件内容 ...

  • 初识Angular

    使用Angular angular是一个框架(框架包含类库)类库:函数的集合。jquery. angular是做什...

  • Git远程仓库—从远程库克隆

    上篇笔记讲了先有本地库,后有远程库的时候,如何关联远程库。 现在,最好的方式是先创建远程库,然后,从远程库克隆到本...

  • iOS组件化1 之 创建远程私有仓库

    一、创建私有索引库 二、本地添加私有索引库 三、创建组件库 四、上传组件代码 五、提交podspec到私有索引库 ...

  • 创建CocoaPods私有库和引用私有库

    一、本地创建私有库 1、在终端上移动到你想创建pod库工程的路径,并执行pod库的创建。命令如下 回车之后,终端会...

网友评论

      本文标题:Angular从创建库到引用库

      本文链接:https://www.haomeiwen.com/subject/jefrectx.html