【问题标题】:When using "ng generate library" what is an Angular "Library"?使用“ng generate library”时,什么是 Angular“Library”?
【发布时间】:2019-02-15 12:20:11
【问题描述】:
【问题讨论】:
标签:
angular
angular6
angular-cli
【解决方案1】:
Angular 库是您创建的一种功能,可以在其他 Angular 应用程序中重复使用:即您开发了一个 Markdown 所见即所得编辑器并希望共享它,因此您捆绑了所有组件、指令、服务、管道等。到可以在 NPM 注册表中发布的库中。
【解决方案2】:
本文中的"angular library" 是指独立存在于projects/ 目录中的Angular 项目,
一个Angular Library总结为,
许多应用程序需要解决相同的一般问题,例如呈现统一的用户界面、呈现数据和允许数据输入。开发人员可以为特定领域创建通用解决方案,以便在不同应用程序中重复使用。这样的解决方案可以构建为 Angular 库,这些库可以作为 npm 包发布和共享。
这里可以看到生成的文件,
CREATE projects/foobar/README.md (987 bytes)
CREATE projects/foobar/karma.conf.js (975 bytes)
CREATE projects/foobar/ng-package.json (155 bytes)
CREATE projects/foobar/package.json (136 bytes)
CREATE projects/foobar/tsconfig.lib.json (726 bytes)
CREATE projects/foobar/tsconfig.spec.json (246 bytes)
CREATE projects/foobar/tslint.json (247 bytes)
CREATE projects/foobar/src/public_api.ts (155 bytes)
CREATE projects/foobar/src/test.ts (700 bytes)
CREATE projects/foobar/src/lib/foobar.module.ts (224 bytes)
CREATE projects/foobar/src/lib/foobar.component.spec.ts (628 bytes)
CREATE projects/foobar/src/lib/foobar.component.ts (256 bytes)
CREATE projects/foobar/src/lib/foobar.service.spec.ts (333 bytes)
CREATE projects/foobar/src/lib/foobar.service.ts (135 bytes)
UPDATE angular.json (4855 bytes)
UPDATE package.json (1432 bytes)
UPDATE tsconfig.json (557 bytes)
这是作为您自己项目的要求添加的。这个想法是允许您打包组件以供重用,该命令只需在Angular Package Format 中设置一个组件。命令ng generate library seems to be introduced in the CLI version 6.
请注意,它与文档中的新项目并不完全相同
Angular 库是一个 Angular 项目,它与应用程序的不同之处在于它不能单独运行。必须在应用程序中导入和使用库。
另见