export和import 输出/接收模块变量的接口

require 和 import 的区别

  • require 方法是 CommonJs 推出的,NodeJs 自带了这个功能。而 import 是 ES6 推出的
  • CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
  • CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。【CommonJS 模块的require()是同步加载模块,ES6 模块的import命令是异步加载,有一个独立的模块依赖的解析阶段。】

 

ES6模块主要有两个功能:export 和 import

export:用于对外输出本模块(一个文件可以理解为一个模块)变量的接口
import:用于在一个模块中加载另一个含有export接口的模块。 (语法:import { name } from "/.a.js" //路径根据你的实际情况填写)
也就是说使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)。
 

导出的方式3种

  1.export let a = 10;
  2.export { a, b };
    1和2,他们引入的时候都要加{},并且名字必须要和导出的一致,他们可以有多个。比如 `import { a, b } from './xxx.js'`
    或者: import * as Types from './action-types';
  3.export default
    一个文件中只能有一个,并且default之后,引入的时候不能加{}。名字还可以随便起。也可以default一个对象(批量导出)
let a = 20;
// export default a;
export default{
    a,
    fn(){alert(1)},
    b=20,
}

// import 变量名 from '模块'

 

posted @ 2018-12-26 12:27  真的想不出来  阅读(680)  评论(0编辑  收藏  举报