CommonJS规范 -- JavaScript 标准参考教程(alpha)

CommonJS规范 -- JavaScript 标准参考教程(alpha)

CommonJS规范 -- JavaScript 标准参考教程(alpha)

访问网站
我的收藏195 次访问更新于 a month ago反馈
CommonJS规范 -- JavaScript 标准参考教程(alpha) screenshot

详细介绍

CommonJS规范 -- JavaScript 标准参考教程(alpha)

简介

《CommonJS规范》是阮一峰所著的《JavaScript 标准参考教程(alpha)》中“草稿二:Node.js”部分的一节。该教程系统讲解了 Node.js 中采用的 CommonJS 模块规范,说明 Node 应用由模块组成,每个文件即一个模块,拥有独立作用域。本页面内容已不再维护,官方建议访问新网址 wangdoc.com/javascript 获取更新教程。

主要内容

教程涵盖以下核心主题:

  • 概述:介绍 CommonJS 规范背景,模块私有作用域、global 对象共享变量的不推荐写法,以及 module.exportsrequire 的基本角色。
  • module对象:Node 内部以 Module 构造函数创建模块实例,解析 module.idfilenameloadedparentchildrenexports 等属性,并演示如何借 module.parent 判断入口脚本。
  • module.exports属性:说明其作为模块对外接口的本质,并给出事件发射模块等示例。
  • exports变量:解释 exports 指向 module.exports 的便利机制,以及错误重绑导致接口失效的注意事项。
  • AMD规范与CommonJS规范的兼容性:对比同步加载(CommonJS,适服务器)与非同步加载(AMD,适浏览器),并展示 AMD 兼容 CommonJS 的 define 写法。
  • require命令:详述基本用法、加载规则(绝对/相对/核心/node_modules 路径)、目录加载规则、模块缓存、NODE_PATH、循环加载、require.main 及内部处理流程等。

主要功能与特点

  • 清晰梳理 CommonJS 模块规范的结构与运行机制。
  • 通过丰富代码示例(如 example.js 私有变量、module.exports 输出、require 加载)辅助理解。
  • 列举 CommonJS 模块三大特点:
    1. 所有代码运行在模块作用域,不污染全局;
    2. 模块多次加载仅首次执行,结果缓存,需清缓存方可重跑;
    3. 加载顺序依代码出现顺序而定。
  • 对比 AMD 与 CommonJS 差异,提供跨规范兼容方案。

适用场景

  • 前端或 Node.js 初学者了解 JavaScript 模块化历史与服务器端模块规范。
  • 开发者查阅 Node.js 传统 require/module 机制细节,排查模块加载、缓存、路径解析相关问题。
  • 作为计算机教学或技术写作中关于 CommonJS 规范的参考文档(注意以新站 wangdoc.com 内容为准)。