有没有办法合并这两个导出语句?
我知道模块不是对象文字,但是我实际上无法导入然后导出动作似乎很奇怪。从我到目前为止的尝试来看,您似乎必须直接从导入导出。
如果目前还没有解决方案,那么未来的任何提案是否有人都知道?
// index.js
import reducer from './reducer';
import selectors from './selectors';
export * from './actions';
export { reducer as default, selectors };
更新
由于显然无法进行显式导入/导出,因此我决定采用一致性,使我的选择器对象成为常规导出而不是默认导出,然后直接从所有三个导入导出。
export * from './actions';
export * from './selectors';
export { reducer as default } from './reducer';
但我仍然对原始问题的解决方案感兴趣。
答案 0 :(得分:1)
怎么样:
export { reducer as default } from './reducer';
export * from './selectors';
export * from './actions';
也许不是100%你想要的,但它仍然少了一行代码。
但你实际上可以用CJS进行解构。这样的事情应该有效:
exports = {
default: require('./reducer').reducer,
selectors: require('./selectors'),
...require('./actions')
};