如果我的模块有export default { a: fn1, b: fn2 }
,是否有办法只导入fn1,例如import { fn1 } from ...
?
答案 0 :(得分:1)
是的,但您必须以不同方式导出它们。
不是导出默认对象,而是导出值本身:
export { fn1, fn2 };
然后,当您导入时,使用大括号导入并使用与导出时相同的确切名称:
import { fn1, fn2 } from './mymodule.js';
然后他们将成为您可以使用的个人价值观:
fn1();
它不是技术上的解构,但看起来非常相似。
答案 1 :(得分:1)
虽然export { fn1, fn2 }
会修复您要搜索的内容,但还有各种导出和导入方式。其中一些列在下面。
我遇到的一篇很好的文章ES6 Modules in Depth
NAME EXPORTS
export fn1;
export fn2;
// OR
export { fn1, fn2 };
import { fn1, fn2 } from '';
fn1();
// OR
import { fn1 as a, fn2 as b } from '';
a();
// OR
import * as funcs from '';
funcs.fn1();
默认出口
// ONLY ONE PER MODULE
export default fn1;
import fn1 from '';
fn1();
<强> MIXED 强>
export default fn2;
export fn1;
import fn2, { fn1 } from '';
import { default as fn2, fn1 } from '';
fn1();
答案 2 :(得分:0)
请勿使用默认 使用
export { fn1, fn2 }