gpt4 book ai didi

angular - 使用 ngrx 的应用程序的最佳结构是什么?

转载 作者:太空狗 更新时间:2023-10-29 16:58:41 25 4
gpt4 key购买 nike

结构一

reducers
index.ts //Combine all reducers
user.reducer.ts
product.reducer.ts
actions
index.ts //Combine all actions
user.action.ts
product.action.ts
effects
index.ts //Combine all effects
user.effect.ts
product.effect.ts
selector
//Combine all selectors
user.selector.ts
product.selector.ts

user
user.reducer.ts
user.action.ts
user.effect.ts
user.selector.ts
product
product.reducer.ts
product.action.ts
product.effect.ts
product.selector.ts
reducers.ts //Combine all reducers
actions.ts //Combine all actions
effects.ts //Combine all effects
selectors.ts //Combine all selectors

最佳答案

在一个应用程序的多个 SMART 组件中使用缩减器、操作或其他组件时,我发现第一个结构非常适合相当小的应用程序。

虽然它促进了关注点分离,但我发现在各个目录之间跳转相当乏味。

通常,使用 user.reducer.ts 会涉及到其他文件:effect、actions 等。因此,第二种方法似乎更简洁一些。

我想建议一个可能适合的第三种结构和一个遵循 angular2 中的“桶”方法的结构:

- store
- user
- index.ts
- user.actions.ts
- user.effects.ts
- user.reducer.ts
- user.reducer.spec.ts

// the store definition file - will expose reducer, actions etc..
// for connecting those to the app in the bootstrap phase
- index.ts

在这种结构下,user目录是一个桶,暴露了各种逻辑组件,只需导入用户即可单独导入,即:

import { reducer as UserReducer } from '../store/user'; 
// or
import { UserReducer } from '../store/user'

我正在我的开源媒体播放器应用程序中试验这些方法 - Echoes Player - http://github.com/orizens/echoes-player
正如另一条评论中提到的,这些应用于 echoes 播放器的策略和架构编译在 ngrx styleguide 中。

关于angular - 使用 ngrx 的应用程序的最佳结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38497719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com