# AMD、UMD、ES……模块
# commonJS
一个文件是一个模块 引入 require 暴露 module.exports exports.xxxx。module 是模块本身,exports 是他的变量。注意不能 module.exports = xxxx
主要用于服务端 Node 加载模块是同步的
# AMD
暴露
define(['a', 'b'], function(a, b){
})
引入
require(['a', 'b'], function(a, b){
})
运行于 浏览器上
# UMD
可以同时运行在 Node 和 浏览器上 现在库打包基本都是使用 UMD 规范
# ES6
export import 语法是静态的 import 会自动提到代码顶层
# CommonJS 和 ES6 的区别
差别
- CommonJS 模块输出的是一个值的拷贝,ES6 Module 输出的是值的引用
- Common 是单个导出, ES6 Module 可以导出多个
- CommonJS 模块是运行时加载,ES6 Module 是编译时输出接口。
对于第二个,commonjs 运行时生成。ES6 Module 是解析生成
← 高性能CSS3动画.md DOM事件.md →