如何根据环境从构建过程中排除组件。变量&#39?;

时间:2018-06-04 12:27:56

标签: angular typescript

我想从构建过程中排除一个组件。但这应该基于environment.prod.ts中保存的环境变量。

我一直在搜索,但没有找到可行的解决方案,大多数提示都是在exclude中添加tsconfig.app.json属性。但即使这个建议有效,它也不能基于环境变量有条件,因为在这种情况下这是不可能的(tsconfig.app.json)。

如何使用环境条目的示例:

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

任何暗示或想法如何实施此过程?

1 个答案:

答案 0 :(得分:1)

我没有对此进行测试,这只是一个领先优势。

由于组件在编译时被捆绑在一起,为什么不根据查询创建包含组件的数组呢?

const components = [AppComponent, PublicComponent, RestrictedComponent, ProdComponent];
const componentsToExport = components.filter(component => component !== ProdComponent);
export componentsToExport;

现在,在您的模块中,您可以导入此数组并进行传播:

@NgModule({
  imports: [...componentsToExport]
  // And the rest
})
export class AppModule {}