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