模块化:把代码拆开管理
模块化是把大文件拆成小文件、按职责管理代码的方式。没有模块化时,所有脚本用 <script> 标签按顺序堆在页面里:全局变量互相覆盖、依赖关系全靠注释维护、改一个文件怕影响整个站点。
JavaScript 历史上有两套主流方案:CommonJS(Node.js 的 require/module.exports,同步加载)与 ES Modules(import/export,浏览器原生支持、静态可分析)。今天新项目一律用 ESM,CommonJS 只在旧项目和 Node 传统生态里见到。
- ESM 是官方标准:import/export,浏览器和 Node 都原生支持
- 模块化天然带来按需引用与 Tree Shaking(没用到的不打包)
- 模块边界即职责边界:utils 放工具、components 放组件、api 放接口
JS
// math.js —— 导出(ESM 写法) export function add(a, b) { return a + b; } export default function multiply(a, b) { return a * b; } // main.js —— 导入并使用 import multiply, { add } from './math.js'; console.log('add(1, 2) =', add(1, 2)); // 3 console.log('multiply(3, 4) =', multiply(3, 4)); // 12 // 导入整个模块(适合按需取用) import * as math from './math.js'; console.log('math.add(5, 6) =', math.add(5, 6)); // 11
本节要点模块化解决全局污染与依赖混乱;新项目一律用 ES Modules,它是 Tree Shaking 与静态分析的基础。




