我想使用环境功能标志禁用模块(或所有端点和导出的服务)。我有一个如下所示的配置文件:
{ "featureFlags": { "books": true, "cars": false } }
在我的 app.module.ts 中,我有以下代码。
@Module({
imports: [
ConfigModule.forRoot({ load: [config] }),
BooksModule,
CarsModule,
],
controllers: [],
providers: [],
})
export class AppModule {}
像这样的事情是我想做的。这可能吗?
@Module({})
export class CarsModule {
static forAsync(configService: ConfigService): DynamicModule {
const controllers = []
const providers = []
const exports = []
if (configService.get("config").featureFlags.cars) {
controllers.push(...)
exports.push(...)
providers.push(...)
}
return {
module: CarsModule,
controllers,
providers,
exports,
};
}
}