是否应删除NGXS NgxsLoggerPluginModule以进行生产构建?

时间:2018-07-30 00:38:59

标签: javascript angular typescript ngrx ngxs

在开发过程中,我们通常使用导入:

import { NgxsReduxDevtoolsPluginModule } from '@ngxs/devtools-plugin';
import { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';

应将其删除以用于生产版本,还是将其与生产版本保持一致(解决生产问题...?)

1 个答案:

答案 0 :(得分:2)

我将在此答案中为您总结我的意见:

通常您可以在prod环境中删除此类插件。 它只会消耗内存,而不会给您的客户带来好处。您至少可以将它们保留在质量检查和开发人员中,这就是我的做法。

这是我在构建中如何处理它的方法:

// Module
// example with ngrx, but it works the same with ngxs
@NgModule({
  declarations: [AppComponent],
  imports: [
    ...,
    environment.devToolsEnabled
      ? StoreDevtoolsModule.instrument({
          maxAge: 50
        })
      : []
  ],
  providers: [...],
  bootstrap: [AppComponent]
})
export class AppModule {
  constructor() {}
}

// environment
export const environment = {
  production: false,
  devToolsEnabled: true,
  ...
};

您的特定环境文件将在构建时使用以下标志覆盖environment.ts文件:

ng build --configuration=<<environment>>