一、模块化发展历程
- 有利于代码分离,解耦以及复用
- 团队并行开发
- 避免命名冲突
- 相互引用,按需加载
单例设计模式
AMD
CMD
UMD
CommenJS
ES6 Module
二、单例
// 单例模式let module = (function() {const init = () => {}return {init}})()module.init()
三、AMD
依赖前置
require.js
define([name]?, [dependence]?, [facory])
四、CMD
依赖就近
sea.js
define(function (requie, exports, module) {//依赖可以就近书写var a = require('./a');a.test();...//软依赖if (status) {var b = requie('./b');b.test();}});
四、commonJS
node.js
文件即模块
// require// module.exports
