1

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

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

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

4

1 回答 1

2

我将在此答案中为您总结我的评论:

prod您通常会在env中删除此类插件。它只会消耗内存,不会给您的客户带来好处。您可以将它们保留在 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>>

于 2018-07-30T13:52:16.413 回答