2016-06-07 53 views
11

如果我运行此:为什么angular-cli创建组件/ shared/index.ts?

ng g component components/blogs 

我得到

app 
+--components 
| +--blogs 
| | +--shared 
| | | +--index.ts    // what's this for? 
| | +--blogs.component.css 
| | +--blogs.component.html 
| | +--blogs.component.ts 
| | +--blogs.component.spec.ts // unit tests! 
| | +--index.ts 

我明白了休息,但什么是/blogs/shared/index.ts呢?如果组件文件夹仅用于组件,为什么组件具有共享文件夹?

回答

17

共享目录中index.ts文件的想法被称为桶。

它巩固进口桶的目标。它将包含出口中共享的项目,以使进口blogs.component.ts清洁...

应用程序/组件/博客/共享/ blogs.service.ts

export class BlogsService { ... } 

应用程序/组件/博客/shared/blog.model.ts

export class Blog { ... } 

应用/组件/博客/共享/ index.ts

export * from './blogs.service'; 
export * from './blog.model'; 

应用程序/组件/博客/ blogs.component.ts

// without barrel 
import { BlogsSerivce } from './shared/blogs.service'; 
import { Blog } from './shared/blog.model'; 

// with barrel 
import { BlogService, Blog } from './shared'; 

如果你能想象这会变得更加巩固你添加更多的组件/服务/指令/模型。

参考您可以在官方style guide(感谢冈特Zöchbauer)了解万桶

+2

参见https://angular.io/docs/ts/latest/glossary.html#!#B –

相关问题