如何将ngrx商店嵌入基于角度的包中,同时可以安装在消费者身上?

Posted

技术标签:

【中文标题】如何将ngrx商店嵌入基于角度的包中,同时可以安装在消费者身上?【英文标题】:How to embed a ngrx store in a package based on angular while it can be mounted on the consumer? 【发布时间】:2020-07-21 14:21:09 【问题描述】:

由于 redux 模式具有唯一的事实,如果我使用 ngrx 打包我的项目,消费者如何将这个商店节点挂载到他的商店(如果有)?或者我怎样才能公开我的商店供消费者安装?

【问题讨论】:

不清楚您的问题是什么。你的意思是你的库 nom 包中有 ngrx 吗? @MikeOne 是的,我想将我项目中的一些模块打包到一个 npm 包中。这些模块中对 ngrx 有一些依赖。我也希望这个包的消费者能够安装作为子节点存储到自己的 store 中。 【参考方案1】:

在你的包中你应该调用StoreModule.forFeatureEffectsModule.forFeature来提供你的reducers和效果。

然后,当用户安装您的软件包并导入您的模块时,它会开箱即用。用户必须在同一模块或其任何父模块中导入StoreModule.forRootEffectsModule.forRoot

【讨论】:

以上是关于如何将ngrx商店嵌入基于角度的包中,同时可以安装在消费者身上?的主要内容,如果未能解决你的问题,请参考以下文章

如何覆盖 ngrx 商店中的某些操作?

如何清除#ngrx 中的状态?

如何基于 NgRX 存储数据组成 Angular 守卫

Angular+ngrx:如何在路由器 url 遍历中保持存储状态?

使用 @ngrx/entity 处理商店中的集合,getSelectors() 不起作用

我如何将数据库添加到 netbean 项目的包中