代码之家  ›  专栏  ›  技术社区  ›  bhantol

角度6-项目之间共享公共代码的最佳实践

  •  5
  • bhantol  · 技术社区  · 8 年前

    如何在项目之间共享代码?

    我创建了两个应用程序,使用:

    ng generate application app1

    ng generate application app2

    我想要 projects/app1/src/app.module.ts 从导入模块 projects/app2/src/shared/common.module.ts

    如果不创建第三个名为common或其他的项目,最好的做法是什么?创建一个项目/公共项目,或者只创建一个名为 common 这里还有印版脚本文件,然后导入它们。

    1 回复  |  直到 8 年前
        1
  •  14
  •   Fernando Espinosa    8 年前

    使用库项目!

    ng generate library common
    

    这将自动将路径别名添加到主 tsconfig.json

      "common": [
        "dist/prod/common"
      ],
      "common/*": [
        "dist/prod/common/*"
      ]
    

    它将允许您引用在 common 图书馆项目。

    例如,在 app.module.ts 以下内容:

    import { SharedModule } from 'common';
    
    @NgModule({
      imports: [
        SharedModule,
        ...
      ],
      declarations: [...],
      exports: [...]
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    

    另一种方法是在 ng serve 一个消费类应用程序(例如,用于开发)的 public_api 在项目层面,如下所示:

    import { SharedModule } from 'projects/common/src/public_api';
    
    @NgModule({
      imports: [
        SharedModule,
        ...
      ],
      ...
    })
    export class AppModule { }
    

    试一试,我用了很多,效果很好!我强烈建议您阅读此文档:

    推荐文章