乐趣区

关于javascript:10-MINSDAY-ES6-export-import

// X.js
export default X; // export default 只能应用一次
export A;
export B;
// 应用 as 从新定义导出的接口名称,暗藏模块外部的变量
export C as C_export_name;

  1. import {A, B} from ‘/X.js’;
    import {D} from ‘/X.js’; // 报错

加上花括号只能承受文件中 export 的明确导出接口的变量,函数与类,如果没有对应名称则会报错。

  1. import X from ‘/X.js’;
    import D from ‘/X.js’;
    import A from ‘/X.js’;
    // 此时 X,D,A 承受的是 export default 后导出的对象。
  2. import {A as A_import_name} from ‘X.js’;
    应用 as 从新定义变量名
  3. import ‘/X.js’;
    // 导入内部的模块,并立刻执行, 但对于其中的 export 会主动疏忽
import('/X.js').then(result=>{console.log('then:',result)
})

import() 函数返回一个 Promise 对象。result 接管了 X.js 模块。蕴含所有 export,export default 的对象。

  1. import * as import_name from ‘/X.js’;
    import_name 会承受一个 Module 对象,外面蕴含所有 export,export default 的对象。
退出移动版