如何将app.module分成较小的文件?

时间:2017-07-12 22:38:21

标签: angular ionic3 ngrx

我正在学习Ionic 3,Angular 4和ngrx设计模式。

我有一个有效的应用程序但我的app.module.ts看起来像这样(省略了导入):

@NgModule({
    declarations: [MyApp, ModelOnePage, ModelTwoPage ],
    imports: [
        IonicModule.forRoot(MyApp),
        StoreModule.provideStore({ modelOne: ModelOneReducer, modelTwo: ModelTwoReducer }),
        EffectsModule.run(ModelOneEffects),
        EffectsModule.run(ModelTwoEffects),
    ],
    bootstrap [IonicApp],
    entryComponents: [MyApp, ModelOnePage, ModelTwoPage ],
    providers: [ModelOneActions, ModelOneService, 
                ModelTwoActions, ModelTwoService, 'andSomeIonicStuff']
})
export class AppModule { }

但是我想要单独的.module文件,例如modelOne.module.ts

@NgModule({
    declarations: [ ModelOnePage ],
    imports: [
        IonicPageModule.forChield(ModelOnePage),
        StoreModule.provideStore({ modelOne: ModelOneReducer }),
        EffectsModule.run(ModelOneEffects),
    ],
    //bootstrap [?],
    entryComponents: [ ModelOnePage ],
    providers: [ModelOneActions, ModelOneService ]
})
export class ModelOneModule { }

依此类推,每个模特/页面都有自己的。

我问,因为有一个巨大的文件,一切都显然是结构可怕的。当多个人在同一个项目中工作不同的部分并且不得不修改同一个文件时,管理git冲突和合并也不理想。

到目前为止,我已经将这个工作用于页面位,实现了延迟加载策略,但StoreModule和EffectsModule以及提供程序的导入不起作用。

我想知道是否有办法实现我想要做的事情。如果没有,那为什么呢?堆栈的哪个部分位于故障? (ngrx-plugin,angular4,ionic3 ......)

1 个答案:

答案 0 :(得分:0)

只需将app.module.ts分开,将新的一个导入main.ts并引导它

question可能会为您带来新的想法