在app.module.ts中,environment.production变量始终为true

时间:2018-10-26 15:20:24

标签: angular angular7

我正在尝试在我的app.module文件中设置一个配置设置,以便根据我是否在生产中而有所不同。

我的environment.ts文件具有

export const environment = {
  production: false
};

我的environment.prod.ts文件具有

export const environment = {
  production: true
};

在我的app.module.ts文件中,我正在尝试类似的事情

imports: [
    BrowserModule,
    AppRoutingModule,
    LoggerModule.forRoot({
      level: (environment.production ? NgxLoggerLevel.OFF : NgxLoggerLevel.DEBUG)
    }),
...

当我在任何地方执行console.log(environment.production)时,都会告诉我该值是false,就像我在开发环境中应该的那样。

我的问题是,它似乎在我的app.module文件中充当true。在这种情况下,我试图将我的日志语句设置为在生产环境中被禁用,但是在开发和生产中它们也会被禁用。 (如果我翻转条件语句,那么它们将同时在开发和生产中启用)。因此,就好像它正在读取environment.production是否应该是真实的一样。

不能在app.module中像这样使用environment.production变量吗?还是我在这里遗漏了其他内容?

1 个答案:

答案 0 :(得分:1)

我直接在app.module.ts顶部直接导入了生产版本

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

代替

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