【发布时间】:2016-08-12 15:46:13
【问题描述】:
使用 redux 开发一个中等复杂的 React 应用程序。我们目前有一个我们在生产中满意的版本,并且正在为本地运行的应用程序版本开发一个管理区域。这个本地版本将具有一些基本的 CRUD 功能。我目前正在评估将 CRUD 内容排除在生产构建之外的最佳方法。
我最满意的是拥有一个具有sed 的 Makefile 删除我在生产构建中不想要的内容。例如任何管理路由、reducer 添加等。但我觉得有更好的方法。可能是去年这个时候我在一个样板中遇到的东西,因为我倒了几十个来感受一下事情是如何运作的。也许它在 webpack 配置中?我不记得了。
让我们举一个简化的例子。
在 redux 中,我有一个文档模块。
这个模块我可以 CRUD 一个文档。但在生产中我只想阅读信息。为了减少包的大小,我不需要创建、更新或删除。这只需要在本地 Intranet 上运行的版本中发生。
目前我不确定如何继续
感觉我的选择有限
创建两个分支。并小心翼翼地将任何新的生产功能合并到我的本地分支中(远非理想)
-
创建两个文档模块(
document_read、document_admin),仅用于阅读,另一个用于其余部分。- 有一个在构建时忽略此模块的 webpack 配置
- 有第二个
combineReducers函数运行此本地版本,该版本添加到document_admin模块中 - 有条件的在文档容器中添加管理组件
- 有第二个路由(react-router)文件||有条件地添加与 document_admin 相关的任何路由,或者可能作为未来的模块,允许经理在提交生产之前审查用户所做的工作。
??
在这一点上,两个似乎是明显的赢家。我只是不禁觉得我错过了一个非常明显的解决方案
【问题讨论】:
标签: javascript reactjs webpack redux