我有很多 Action 创建者,我正在尝试将它们组织到几个不同的文件中。每个单独的文件都有导出的函数,例如:
export function addData(data) {
return {
type: 'ADD_DATA',
data
}
}
在将它们分成不同的文件之前,它们的导入方式如下:
import { addData } from './actions/actionCreators'
但是现在的结构就像
├─┬ actions
│ ├── actionsCreators1.js
│ ├── actionsCreators2.js
│ └── index.js
我想将它们合并到索引文件中,并按最初命名的方式导出它们。我尝试过的是:
actions/index.js
import * as actions1 from './actionCreators1'
import * as actions2 from './actionCreators2'
export default {
...actions1,
...actions2
}
但是,导入时命名函数是未定义的。我可以将它们单独引入 import { action1, action2 } from './actionCreatos1'
并且它会起作用,但是必须将所有内容写在两个地方并不理想。
如何合并这些导入并将它们导出为一个对象?
最佳答案
您可以使用模块系统本身来传递名称,而不是依赖扩展,例如
// actions/index.js
export * from './actionCreators1'
export * from './actionCreators2'
因此,只要文件中的名称不冲突,它们就会很好地传递。
关于javascript - 如何合并多个文件的命名导出并将其导出为一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326427/