模块系统
- 核心模块
- 第三方模块
- 自己写的模块
- require加载模块的规则
- 优先从缓存加载,不会重复加载
- 判断模块标识
- 首位的/表示跟路径
模块化
- 文件作用域
- 通信规则
- 加载模块
- 导出
CommonJS模块规范化
- 模块作用域
- 使用require方法加载模块
- 使用exports接口对象用来导出模块中的成员
加载require
语法:var 变量名 = require('模块')
导出exports
每个模块都有对象module,该对象中有一个成员exports
- 导出单个成员
module.exports = 'a'
- 导出多个成员
module.exports = {
foo:'bar',
add:function(x, y) {
return x + y
}
}
module.exports 和 exports区别
- exports 只是module.exports的引用而已
- 每个模块最终的return的是module.exports