(四十八)JavaScript模块化开发
1:发展历史
早期的Javascript - <script>标签引入 - 没有模块化
简单粗暴
逻辑混乱
页面复杂, 可维护性差
全局变量暴露
文件引入顺序
JavaScript引入模块化
避开全局污染
模块复用, 提高开发效率与协作
模块功能单一职能方便维护
解决文件依赖顺序
CommonJs
AMD - 异步模块
CMD - 通用模块
2:CommonJs
-
CommonJs社区贡献
-
规范
定义模块标识规范
全局函数require - 传入模块标识来引入其他模块(暴露API)
模块嵌套 - 依次加载引用模块
通过exports暴露API
-
定义模块
var basic = 1;
var increase = function(value) {
return value + basic;
}
module.exports.increase = increase;
引入模块
var myModule = require('./myModule.js');
console.log(myModule.increase(1));