是否应该为生产构建删除 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>>
在开发过程中我们通常使用导入:
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>>