情况
我有一个模块 moduleA
与default
并命名导出:
// Module A
export {
A1 as default,
A2,
A3,
};
在另一个模块中 moduleB
我想导出(聚合)来自 moduleA
的所有内容(default
和命名导出)。我这样做了:
// Module B
export * from "moduleA";
然后在另一个模块中moduleC
我导入了moduleB
的 default
导出,我预计是default
模块A的导出:
// Module C
import ModuleB from "moduleB";
但是ModuleB
解决了 undefined
.
我通过将模块 B 更改为以下来修复此问题,它按预期工作:
// Module B
export { default } from "moduleA";
export * from "moduleA";
问题
我能否以某种方式在一行中导出模块 B 中的内容?类似下面的内容(这是无效的语法)。
export { default, * } from moduleA;
旁白:为什么 export * from <module>
不导出default
导入/导出?
最佳答案
你不能。
来自ecma spec,export * from "moduleA";
不会从引用的模块重新导出默认绑定(bind)。
There's a proposal ,目前处于第一阶段,可能会让您做到这一点。
关于javascript - 是否可以在单个语句中从另一个模块导出 * 和默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57580560/