Node.js 知识量:9 - 37 - 115
CommonJS的出发点在于解决JavaScript在浏览器环境中无法进行模块化编程的问题。在CommonJS规范中,一个文件就是一个模块,拥有单独的作用域,普通方式定义的变量、函数、对象都属于该模块内。通过require来加载模块,通过exports和modul.exports来暴露模块中的内容。这种模块化编程方式让JavaScript代码在任何地方都能运行,实现了与Java、C#、PHP等后台语言相同的开发大型应用的能力。
CommonJS的模块规范主要包括以下几个方面:
模块引用:使用require方法来加载模块。例如,var math = require('math'); 这行代码会加载名为'math'的模块,并将其导出的内容赋值给变量math。
模块定义:在每个模块中,都有一个exports对象,这是模块的公开接口。模块中需要被外部访问的成员都应该挂载到这个对象上。例如,exports.add = function() {...} 就将一个函数挂载到了模块的公开接口上。此外,模块内部还有一个module对象,代表模块自身,而exports是module的属性。
模块标识:传递给require方法的参数就是模块标识。这个参数必须是一个小驼峰命名的字符串,或者是一个以.或..开头的相对路径,或者是一个绝对路径。模块标识可以是文件名,但不必带.js后缀。
这些规范使得JavaScript在服务器端也能像其他后端语言一样进行模块化编程,提高了代码的可维护性和可重用性。同时,CommonJS规范也是Node.js中模块系统的基础。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6