JS 模块化与工程实践(23 节课)
模块化不是新发明,而是一场持续三十年的演进:从 script 标签的原始局限走到 ESM 与打包器源码,看清今天前端工程化体系的来龙去脉。
第一章 · 模块化演进与规范3 节
为什么需要模块化?从 script 标签说起模块化发展史:IIFE / AMD / CMD / UMD规范现状:CommonJS 与 ESM
第二章 · CommonJS 深入3 节
module.exports / exports / requirerequire 加载过程:缓存与路径解析CJS 循环依赖:为什么会拿到半成品
第三章 · ES Module 深入4 节
import / export 语法与静态分析ESM 解析与加载:模块图与后序执行ESM 循环依赖:live binding 为什么能救CJS 与 ESM 互操作:default 陷阱
第四章 · 打包与工程3 节
打包器原理:模块图与 bundle 结构Tree Shaking 与动态 import 分包package.json exports 字段:入口与封装
第五章 · 最佳实践与发布4 节
模块化设计最佳实践与按需加载Module Federation 与 SSR 中的模块化npm 包发布与版本管理浏览器原生 ESM 与 import maps
第六章 · 模块系统源码实现3 节
手写 CommonJS:require 加载与缓存实现手写 AMD:define 与 require 的回调依赖管理手写简易 Bundler:模块图 → 单文件
第七章 · 演进全景与迁移实战3 节
模块化演进全景:全局 → 命名空间 → IIFE → 规范传统代码迁移到 ES Module 综合案例易错点避坑指南:循环依赖 / 作用域 / Tree Shaking