首页 > 解决方案 > app.module.ts 中的 environment.production 变量始终为真

问题描述

我正在尝试在我的 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我在开发环境中时应有的值。

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

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

标签: angularangular7

解决方案


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

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

代替

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

推荐阅读