Appearance
ES6 模块化
ES6 模块化的核心思想是 尽量静态化,使得编译时就能确认模块间的依赖关系、以及输出输入的变量。而 AMD、CMD、COMMONJS 是在运行时确认这些东西。
ES6 模块化编译时加载,使得静态分析成为可能,促使了 类型校验、宏 的实现。
基本语法
定义暴露模块 : export
- 暴露一个对象:
export default 对象
- 暴露多个:
js
export var xxx = value1
export let yyy = value2
var xxx1 = value1
let yyy1 = value2
export { xxx1, yyy1 }
引入使用模块 : import
- default 模块:
import xxx from '模块路径/模块名'
- 其它模块
js
import { xxx, yyy } from "模块路径/模块名"
import * as module1 from "模块路径/模块名"
问题
- 所有浏览器还不能直接识别 ES6 模块化的语法
- 通过打包工具进行编译:
使用 Babel 将 ES6--->ES5(使用了 CommonJS) ----浏览器还不能直接支行
使用 Browserify--->打包处理----浏览器可以运行