Node.js

Node.js 知识量:9 - 37 - 115

2.1 CommonJS规范><

CommonJS的出发点- 2.1.1 -

CommonJS的出发点在于解决JavaScript在浏览器环境中无法进行模块化编程的问题。在CommonJS规范中,一个文件就是一个模块,拥有单独的作用域,普通方式定义的变量、函数、对象都属于该模块内。通过require来加载模块,通过exports和modul.exports来暴露模块中的内容。这种模块化编程方式让JavaScript代码在任何地方都能运行,实现了与Java、C#、PHP等后台语言相同的开发大型应用的能力。

CommonJS的模块规范- 2.1.2 -

CommonJS的模块规范主要包括以下几个方面:

  1. 模块引用:使用require方法来加载模块。例如,var math = require('math'); 这行代码会加载名为'math'的模块,并将其导出的内容赋值给变量math。

  2. 模块定义:在每个模块中,都有一个exports对象,这是模块的公开接口。模块中需要被外部访问的成员都应该挂载到这个对象上。例如,exports.add = function() {...} 就将一个函数挂载到了模块的公开接口上。此外,模块内部还有一个module对象,代表模块自身,而exports是module的属性。

  3. 模块标识:传递给require方法的参数就是模块标识。这个参数必须是一个小驼峰命名的字符串,或者是一个以.或..开头的相对路径,或者是一个绝对路径。模块标识可以是文件名,但不必带.js后缀。

这些规范使得JavaScript在服务器端也能像其他后端语言一样进行模块化编程,提高了代码的可维护性和可重用性。同时,CommonJS规范也是Node.js中模块系统的基础。