javascript - 在 Angular AoT 编译器中导出变量

标签 javascript angular angular-aot

我尝试实现动态配置,如 post 中所示.

在 JiT 编译器中一切正常,但我得到了

ERROR in Error during template compile of 'environment'
  Function calls are not supported in decorators but 'Environment' was called.

尝试使用 AoT 编译器构建时。

这是我的 environment.ts(注意类 Environment 被导出):

export class Environment extends DynamicEnvironment {
  public production: boolean;

  constructor() {
    super();
    this.production = false;
  }
}

export const environment = new Environment();

我还是想以标准方式使用环境 some.component.ts:

import { environment } from '../environments/environment';

console.log(environment.config.property);

最佳答案

不要。说真的,远离这两个文件(environment.tsenvironment.prod.ts)。这些与“环境”一词的 DevOps 含义无关,它们与调试常量有关。

如果您需要知道您是否正在运行调试版本,请导入 isDevMode :

import { isDevMode } from '@angular/core';

如果您需要动态配置,只需从某处读取 Json 或让服务器端将其作为脚本标记注入(inject),然后直接读取或通过依赖注入(inject)(这并不难做到)。

但是不要弄乱这些文件。相信我,你稍后会感谢我的;)

关于javascript - 在 Angular AoT 编译器中导出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58616067/

相关文章:

javascript - 使用 Javascript/jquery 验证在文本区域中输入的多封电子邮件

javascript - 使用 Headless JS 响应 native 的后台/前台服务

Angular 2 Material 垫片尺寸

angular - 如何将适用于 Javascript 的 TUI 图像编辑器导入到我的 Angular 应用程序中?

Angular AOT编译错误 "cannot determine module for class Component''

javascript - 在 HTML 表单中添加下拉选项

javascript - 如何复制输入元素及其值?

javascript - 使用没有前缀延迟的sampleTime 运算符?

angular - (Angular/AOT) - Angularfire2 'initializeApp()' 没有加载正确的配置属性

angular5 - _lazy_route_resource 惰性命名空间对象