模块化主要是用来抽离公共代码,隔离作用域,避免变量冲突等。将一个复杂的系统分解为多个模块以方便编码。
会讲述以下内容
- CommonJS
- AMD 及 核心原理实现
- CMD 及 核心原理实现
- UMD 及 源码解析
- ES6 Module
- webpack打包策略
CommonJS
同步加载
CommonJS API是以在浏览器环境之外构建 JS 生态系统为目标而产生的项目
如果没有写后缀名Node会尝试为文件名添加.js、.json、.node后再搜索。
.js件会以文本格式的JavaScript脚本文件解析,.json文件会以JSON格式的文本文件解析,.node文件会以编译后的二进制文件解析。
AMD
异步加载(对象)
"Asynchronous Module Definition"(异步模块定义),是由RequireJS提出的
AMD核心实现
function require (url, callback) {
// url可以换成List,然后遍历;
var $script = document.createElement('scr