ES6 module

module  es6 模块设计思想,尽量保持静态化)

  es6 使用 export 对外暴露接口

  使用 iimport 引入其他模块

  import 声明的变量,必须放在 {} 内,变量名必须和暴露的接口名一致;

  exprot var a="hello world"  (不建议)

  var a="hello world";   exprot {a}  (建议)

  引入接口

  import {a} from "文件名"

  暴露多个变量,必须加 {}

  模块文件暴露什么,引入文件接收什么 (例如:export {a} 为一个对象,那么 import {a} from "文件名" 的 a 就是一个对象)

  注意:

    export 暴露必须是一个变量,或变量集合

    不能直接暴露一个数据,例如:export 12 这种写法就是错的

  如果不想让别人知道你暴露的什么接口,我们可以使用 as 关键字

  案例:

    var a = "hello world";

    export {a as ben};  ben 和 a 都 代表了这个字符串

    import {ben} from "文件名"

    console.log(ben);  // hello world

  export default 介绍

  案例:

    a.js

    var a="hello world"

    export default a;

    b.js

    import haha from "a.js";

    console.log(haha)  //hello world;

  总结:

    export 和 import 时一对,二者后面都必须带 {} ,花括号里面的变量名,保持一致

    export default 和 import 也是一对,二者后面不用带 {} ,名字不需要一致;

    export default 一次只能对外输出一个

    exprot default 本质是将值赋给变量 default ,所以,default 后面不能对变量在次声明;

    export default var a       x   这种写法错的

    export default function fn   v   这种写法可以

    export default 的本质:

    export {a as default}  default 可以是任何变量,所以便能实现 export default 

原文地址:https://www.cnblogs.com/panghexin/p/11159677.html