是否应该为生产构建删除 NGXS NgxsLoggerPluginModule?

Should the NGXS NgxsLoggerPluginModule be removed for production builds?

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

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

是否应该为生产构建删除这些,或者在生产构建中保持这些完整是否有好处(解决生产问题......?)

我会在这个回答中为您总结我的评论:

您通常会在 prod 环境中删除此类插件。 它只会消耗 内存,不会给您的客户带来好处。你可以把它们放在 QA 和 DEV 中,至少,我是这样做的。

以下是我在构建中如何处理它:

// 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>>