【问题标题】:Using Environment Variables in Angular Node Package在 Angular 节点包中使用环境变量
【发布时间】:2017-11-27 03:14:28
【问题描述】:

我正在为我们创建的日志服务创建一个 Angular 4 节点包。是否可以使用 angular cli 环境变量来设置服务的默认路径?如果是,环境文件的路径应该如何定义?

我正在按照以下说明创建节点包: https://medium.com/@cyrilletuzi/how-to-build-and-publish-an-angular-module-7ad19c0b4464

我按照以下示例设置环境变量: http://tattoocoder.com/angular-cli-using-the-environment-option/

https://medium.com/beautiful-angular/angular-2-and-environment-variables-59c57ba643be

【问题讨论】:

    标签: node.js angular angular-cli


    【解决方案1】:

    您可以使用 Angular 文档 here 中解释的 forRoot 方法来做到这一点。

    在您的外部 Angular 库中修改主要导出模块以具有以下结构:

    export class MyLibraryModule {
      static forRoot(config: configData): ModuleWithProviders {
        return {
          ngModule: MyLibraryModule,
          providers: [
            {provide: AppConfigModel, useValue: config }
          ]
        };
      }
    
      constructor(@Optional() config: AppConfigModel) {
        if (config) { /* Save config data */ }
      }
    
     }
    
     export class AppConfigModel {
        defaultPath: string;
     }
    

    当您将此模块导入您的应用程序时,请使用 forRoot 静态方法并传入配置数据。

    imports: [
        MyLibraryModule.forRoot({ defaultPath: environment.defaultPath }),
     ]
    

    顺便说一句,我使用这个library 来创建我的Angular npm 模块。它大大简化了流程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多