22Module语法

2017-11-09  本文已影响0人  我_巨可爱

概述

  1. CommonJS 是服务器模块加载规范,AMD 是浏览器模块加载规范
  1. ES6 可以成为服务器和浏览器通用的模块加载方案

严格模式

模块自动应用严格模式

export

动态绑定

  1. 可以输出变量声明语句,函数定义等,不能直接输出值
  2. export 是和变量动态绑定,CommonJS 输出值的缓存
  3. as可以重命名,那么一个变量就可以输出多次
// 正确方法
export var a =1
export function fn() {}
// 错误方式
var a = 1
export a
function fn() {}
export fn
// 错误方式改变后
var a = 1
export {a}
function fn() {}
export {fn}

export default 默认输出

其实相当于输入一个default的变量,之后跟的值赋值给变量。在导出的时候,允许import使用任何变量承接

  1. 导出变量的时候,exportexport default情况刚好相反
  2. 导出函数的时候,export default可以导出匿名函数和函数定义
  3. 在导入的时候,也稍有不同,不在使用{}
// export 会报错的,export default 不会报错
var a = 1
export default a
// export default 报错
export default var a = 1

import 命令

静态执行

  1. import命令是在编译阶段执行的,因此先使用后引入是可以的。但是不能使用表达式和变量。
  2. import引入中的方法名必须和export导出的方法名一致
  3. 可以使用as重命名

整体加载

import * as all from ''

  1. 关键字*as
  2. 不允许运行时改变

import 和 export 复合写法

作为了解,不深入

  1. 有些形式是不可以复合写的
export {foo,bar} from ""

模块的继承

跨模块常量

上一篇 下一篇

猜你喜欢

热点阅读