【问题标题】:Why does angular-cli create component/shared/index.ts?为什么 angular-cli 创建 component/shared/index.ts?
【发布时间】:2016-06-07 14:39:15
【问题描述】:

如果我运行这个:

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 是干什么用的?如果组件文件夹仅用于组件,为什么该组件具有共享文件夹?

【问题讨论】:

    标签: angular shared angular-cli


    【解决方案1】:

    共享目录中的index.ts 文件的概念称为桶。

    它的目标是巩固进口。它将导出 shared 中包含的项目,以使 blogs.component.ts 中的导入更清晰...

    app/components/blogs/shared/blogs.service.ts

    export class BlogsService { ... }
    

    app/components/blogs/shared/blog.model.ts

    export class Blog { ... }
    

    app/components/blogs/shared/index.ts

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

    app/components/blogs/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 中阅读有关桶的信息(感谢 Günter Zöchbauer)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      相关资源
      最近更新 更多