2016-06-07 67 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 –

相關問題