考虑以下的redux项目的JavaScript文件的文件结构(这是不是很重要,但它是一个真实的生活场景):如何自动导入和捆绑JavaScript模块/文件?
plugins/
a/reducer.js
b/reducer.js
c/reducer.js
rootReducer.js
这是rootReducer.js
当前内容:
import { combineReducers } from 'redux'
import a from './a/reducer'
import b from './b/reducer'
import c from './c/reducer'
export default combineReducers({ a, b, c });
注即每个reducer.js
文件默认输出一个reducer函数。
要添加一个新的插件,我创建一个合适的文件夹,添加一个新的reducer.js
文件,然后我需要手动导入reducer文件并在rootReducer.js
中注册它。
我想这个过程是全自动的。我希望rootReducer.js
文件遍历所有子目录,在其中查找文件reducer.js
,并最终导入它并使用文件夹名称将其添加到根缩减程序。
我正在使用webpack和babel来编译和捆绑我的JavaScript文件。
我知道Node.js中有一个文件系统API,它允许我遍历文件夹并查找reducer.js
文件。但是,一旦与webpack捆绑在一起,它会正常工作吗?动态导入模块/文件是否安全?
[我怕你要求的是不可能的。](http://stackoverflow.com/questions/30340005/importing-modules-using-es6-syntax-and-dynamic-path) – Ashitaka
使用'require'? – tobik