我们正在使用angular2和angular-cli,我们的应用程序变得相当大,并且在declarations:
文件中有大量app.module.ts
。
@NgModule({
declarations: [
GameComponent1,
GameComponent2,
GameComponent3,
StatsComponent1,
StatsComponent2,
StatsComponent3,
AboutPageComponent1,
AboutPageComponent2,
AboutPageComponent3,
AboutPageComponent4,
],...
首先,有没有办法对相关的组件声明进行分组,如下所示:
@NgModule({
declarations: [
GameComponentsGroup,
StatsComponentsGroup,
AboutPageComponentsGroup,
],...
然后,可以选择性地打开和关闭组件,使其不被包含在构建中,适用于不同的环境。
if(environment.envName == "developmentWithStats")
appmodule add StatsComponentsGroup
目标是允许不同的功能包含在不同的版本中。
我知道我在这里缺少一些关键知识,非常感谢任何帮助。
答案 0 :(得分:2)
首先,有没有办法对相关的组件声明进行分组,如下所示:
您可以将它们分组到不同的模块
@NgModule({
declarations: [ Game1Component, Game2Component ],
exports: [ Game1Component, Game2Component ]
})
class GameModule {}
@NgModule({
imports: [ GameModule ]
})
class ModuleThatUsesGameModule {}
然后,可以选择性地打开和关闭组件,使其不被包含在构建中,适用于不同的环境。
您可以执行类似
的操作const declarations = [
CoreComponent
];
if(environment.envName == "developmentWithStats") {
declarations.push(SomeComponent);
}
@NgModule({
declarations: declarations
})