如何在Angular懒加载子模块X下创建并配置NGRX Store?
针对懒加载子模块生成NgRx Store的CLI命令
仅执行依赖安装命令不会生成Store文件或配置模块,你需要使用NgRx Schematics工具来完成针对懒加载子模块的Store生成与配置。
步骤1:安装NgRx Schematics(若未安装)
npm install @ngrx/schematics --save-dev
步骤2:生成子模块专属的Store文件并配置模块
使用以下命令,替换其中的路径和名称为你的实际子模块信息:
ng generate @ngrx/schematics:feature 子模块路径/store --module=子模块路径/x.module.ts --name=自定义状态名称 --flat=false
示例(假设子模块X位于app/modules/x):
ng generate @ngrx/schematics:feature app/modules/x/store --module=app/modules/x/x.module.ts --name=XState --flat=false
参数说明:
子模块路径/store:指定Store相关文件的生成目录,执行后会在该路径下创建独立的Store文件夹--module=子模块路径/x.module.ts:指定要注入Store配置的子模块文件,命令会自动在x.module.ts中添加StoreModule.forFeature()和EffectsModule.forFeature()的配置--name=XState:自定义该feature状态的名称,会作为生成文件的前缀(如x-state.actions.ts)--flat=false:强制创建单独的Store文件夹存放所有状态相关文件,避免文件平铺在子模块根目录
执行后效果:
- 在子模块X目录下生成Store文件夹,包含:
x-state.actions.tsx-state.effects.tsx-state.reducer.tsx-state.selectors.ts
x.module.ts中自动添加Store和Effects的配置代码,无需手动修改
可选参数:
- 不需要生成选择器(selectors):添加
--no-selectors - 不需要生成副作用(effects):添加
--no-effects
内容的提问来源于stack exchange,提问作者Sz2013
相关产品推荐
相关产品推荐

