为什么我需要* public-api.ts *和* exports * 示例:

我是新手,

开始编写我的第一个库,其中包含组件,服务,指令。

我在库的exports数组中列出了我的组件,服务和指令,但仍然:

  • 从另一个库或应用程序使用库并成功编译时, 我需要在public-api.ts中列出我的组件和服务。为什么呢? ngModule的exports数组不够吗?

  • 现在从exports数组中删除了组件,服务和指令,一切仍然正常。为什么?

在angular.io上阅读文档时,看来public-api.tsexports具有相同的目的-我在这里可能会缺少一些基本知识。

ZENGMINGMIN2009 回答:为什么我需要* public-api.ts *和* exports * 示例:

exports的{​​{1}}定义了在其他模块的@NgModule中导入该模块时暴露给其他模块的内容。 imports用作桶文件,用于更清洁的路径导入。

示例:

public-api
  

https://angular.io/api/core/NgModule#exports   https://basarat.gitbooks.io/typescript/docs/tips/barrel.html

, ngModule中的

exports用作导出的Angular部分,而public-api.ts导出组件/管道/指令的打字稿符号。

不是第二次导出,但建议保持导入路径整洁。

带有public-api.ts(推荐)

import {A,B,C} from 'my-library'

没有public-api.ts

import {A} from 'my-library/a'
import {B} from 'my-library/b'
import {C} from 'my-library/c'

在my-module.module.ts内部(工作正常,但不如public-api.ts聪明)

import {A,C} from 'my-library/my-module'
本文链接:https://www.f2er.com/3064286.html

大家都在问