Men*_*hem 8 angular-module angular angular-library
我是角度的新手,
开始编写我的第一个库,包含组件、服务、指令。
我在库的exports数组中列出了我的组件、服务、指令,但仍然:
当使用来自另一个库或应用程序的库并成功编译时,我需要在public-api.ts. 为什么 ?ngModule 的 exports数组还不够吗?
现在从exports数组中删除了组件、服务、指令,一切仍然有效。为什么 ?
阅读 angular.io 上的文档,它看起来public-api.ts和exports服务于相同的目的 - 我可能在这里遗漏了一些基本的东西。
的exports一个的@NgModule定义,当该模块在被导入什么暴露于其它模块imports的另一模块的。在public-api充当清洁路径进口每桶文件。
// Instead of this
import { ExampleService } from '@lib/services/example.service';
import { AntoherService } from '@lib/sevivces/another.service';
// You can do this
import { ExmpaleService, AnotherService } from '@lib';
Run Code Online (Sandbox Code Playgroud)
https://angular.io/api/core/NgModule#exports https://basarat.gitbooks.io/typescript/docs/tips/barrel.html
小智 8
ngModule 中的导出充当导出的 Angular 部分,并且 public-api.ts 导出组件/管道/指令的打字稿符号。
第二次导出不是必需的,但建议保持导入路径干净。
使用 public-api.ts(推荐)
import {A, B, C} from 'my-library'
Run Code Online (Sandbox Code Playgroud)
没有公共 api.ts
import {A} from 'my-library/a'
import {B} from 'my-library/b'
import {C} from 'my-library/c'
Run Code Online (Sandbox Code Playgroud)
在 my-module.module.ts 中(运行良好,但不如 public-api.ts 智能)
import {A, B, C} from 'my-library/my-module'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3332 次 |
| 最近记录: |