index.ts
和xxx.module.ts
中导出的区别是什么?
我为什么要创建index.ts
文件?
index.ts
export * from './about.component';
export * from './about.routes';
xxx.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AboutComponent } from './about.component';
import { AccordionModule } from 'ng2-bootstrap/components/accordion';
@NgModule({
imports: [CommonModule, AccordionModule],
declarations: [AboutComponent],
exports: [AboutComponent]
})
export class AboutModule { }
答案 0 :(得分:0)
将所有公共属性导出到已定义的文件中 进入xxx.module只导出最后一个类 remeber tath导出签名是范围可见性
答案 1 :(得分:0)
如果您有 (concat ((_ extract n-1 k+1) x) y ((_ extract k-1 0) x))
个文件,则可以从中index.ts
导出内容。我们假设你有一个非常深的文件结构:
for easier access and readability
您可以对index.ts文件执行的操作是合并要导出到项目中的这些类和接口。
folder1
|folder2
|-|classToExport
|-|folder3
|---|folder4
|-----|classToExport
现在你有了一个index.ts文件,你可以以更干净的方式将这些类导入到其他地方。
// index.ts
export * from ./folder1/folder2/someClass;
export * from ./folder1/folder2/folder3/folder4/otherClass
使用您定义的index.ts文件,您现在可以从同一文件导入这两个类/接口。
从模块导出类对于开发供其他人使用的工具和库非常重要。以PrimeNG为例。您想要使用其中一个数据表,因此在您的模块中,您可以执行类似
的操作// class in different directory tree in the same project
// SomeClass is from first index.ts import, OtherClass is from the second.
import {SomeClass, OtherClass} from 'app/path/to/index.ts_file';
您从其库中导入模块,现在您可以使用Datatable。但是等等,你根本就没说过// in one of your modules
...
imports: [DataTableModule]
。如果仅导入Datatable模块,您是如何访问Datatable的? 因为他们从模块中导出类。通过从模块中导出类,您现在可以通过导入其模块来使用该类。