JavaScript 模块化

为什么要使用模块

模块化可以使你的代码低耦合,功能模块直接不相互影响。我个人认为模块化主要有以下几点好处:

  1. 可维护性:根据定义,每个模块都是独立的。良好设计的模块会尽量与外部的代码撇清关系,以便于独立对其进行改进和维护。维护一个独立的模块比起一团凌乱的代码来说要轻松很多。
  2. 命名空间:在 JavaScript 中,最高级别的函数外定义的变量都是全局变量(这意味着所有人都可以访问到它们)。也正因如此,当一些无关的代码碰巧使用到同名变量的时候,我们就会遇到“命名空间污染”的问题。
  3. 可复用性:现实来讲,在日常工作中我们经常会复制自己之前写过的代码到新项目中。

CommonJS

AMD

Asynchronous Module Definition(异步模块定义规范),简称 AMD。

UMD

在一些同时需要 AMD 和 CommonJS 功能的项目中,你需要使用另一种规范:Universal Module Definition(通用模块定义规范)。