文件如下:
-test
--index.js
--test1.js
--test2.js
test1.js:
export const val1 = "TEST 1";
export const val2 = "TEST 2";
export const val3 = "TEST 3";
export const val4 = "TEST 4";
test2.js:
export const val5 = "TEST 5";
export const val6 = "TEST 6";
export const val7 = "TEST 7";
export const val8 = "TEST 8";
index.js:
import * as test1 from "./test1";
import * as test2 from "./test2";
export default { ...test1, ...test2 };
在另一个文件中:
import { val6 } from "./test";
变量var6
未定义。
但是,如果我这样做:
import test from "./test";
const { val6 } = test;
然后定义了var6,它等于“ TEST 6”。
test1和test2对象具有键__esModule: true
。
我不明白为什么会这样。为什么在第一个示例中未定义var6?
答案 0 :(得分:3)
如注释中所述,您正在创建一个默认导出的对象文字,它与命名导出不同(它导致test
引用合并的对象,但除{{ 1}})。看来您实际上正在寻找的是
default
有了它,您就可以使用
// index.js:
export * from "./test1";
export * from "./test2";