// X.js
export default X; // export default 只能应用一次
export A;
export B;
// 应用 as 从新定义导出的接口名称,暗藏模块外部的变量
export C as C_export_name;
- import {A, B} from ‘/X.js’;
import {D} from ‘/X.js’; // 报错
加上花括号只能承受文件中 export 的明确导出接口的变量,函数与类,如果没有对应名称则会报错。
- import X from ‘/X.js’;
import D from ‘/X.js’;
import A from ‘/X.js’;
// 此时 X,D,A 承受的是 export default 后导出的对象。 - import {A as A_import_name} from ‘X.js’;
应用 as 从新定义变量名 - import ‘/X.js’;
// 导入内部的模块,并立刻执行, 但对于其中的 export 会主动疏忽
import('/X.js').then(result=>{console.log('then:',result)
})
import() 函数返回一个 Promise 对象。result 接管了 X.js 模块。蕴含所有 export,export default 的对象。
- import * as import_name from ‘/X.js’;
import_name 会承受一个 Module 对象,外面蕴含所有 export,export default 的对象。