6种 JavaScript 模块输出选项

阅读时长 5 分钟读完

在前端开发中,为了提高代码的可维护性和重用性,我们通常使用模块化的方式组织代码。JavaScript模块可以通过不同的输出选项来实现模块的导出和引入。本文将介绍常见的六种 JavaScript 模块输出选项,包括 CommonJS、ES6、AMD、UMD、SystemJS 和 Closure Compiler。

1. CommonJS

CommonJS 是 Node.js 最早采用的模块系统,它定义了一个 module 对象和一个 exports 对象,通过给 exports 对象添加属性或方法来导出模块,通过 require 函数来引入模块。

导出示例

引入示例

2. ES6 Module

ES6 模块是 ECMAScript 2015 标准中新增的模块化方式,它使用 export 关键字导出模块,使用 import 关键字引入模块。

导出示例

引入示例

3. AMD

AMD(Asynchronous Module Definition)是一种在浏览器端异步加载模块的规范,它使用 define 函数定义模块,使用 require 函数引入模块。

导出示例

-- -------------------- ---- -------
-- ---------
--------------- -- -
  -------- ------ -- -
    ------ - - --
  -

  ------ -
    ---- ---
  --
---

引入示例

4. UMD

UMD(Universal Module Definition)是一种兼容 CommonJS 和 AMD 的模块化方式,它可以在不同的环境中使用。

导出示例

-- -------------------- ---- -------
-- ---------
--------- ------ -------- -
  -- ------- ------ --- ---------- -- ----------- -
    ---------- ---------
  - ---- -- ------- ------- --- --------- -
    -------------- - ----------
  - ---- -
    -------- - ----------
  -
------- -------- -- -
  -------- ------ -- -
    ------ - - --
  -

  ------ -
    ---- ---
  --
----

引入示例

5. SystemJS

SystemJS 是一个支持多种模块格式的动态模块加载器,它可以在浏览器端和 Node.js 中使用。

导出示例

-- -------------------- ---- -------
-- ---------
------------------- -------- --------- -
  -------------- -------- --- -- -
    ------ - - --
  ---

  ------ -
    -------- ---
    -------- -------- -- --
  --
---

引入示例

6. Closure Compiler

Closure Compiler 是 Google 开源的 JavaScript 编译器,它可以将 JavaScript 模块编译成一个单独的文件,提高代码的执行效率。

导出示例

引入示例

纠错
反馈