CommonJS对模块的定义很简单:
- 模块引用
- 模块定义
- 模块标识
模块化:
- 在node中,一个js文件就是一个模块
- 在node中,每一个js文件中的js代码都独立运行在一个函数中,而不是全局作用域,所以一个模块中的变量和函数在其他模块内无法访问,所以要向外部暴露变量和方法
暴露变量和方法
exports.x = 'nihao'
exports.fn = function(){}
module.exports.a = 'hai'
module.exports.sot = function(){}
module.exports = { //此时只能用module.exports
x : 'nihao',
fn : function(){},
a ; ‘hai’
}
引入模块
- 通过require(“路径”)函数来引入模块,相对路径必须以 ./ 或者 …/ 开头
- 使用require()引入模块后,会返回一个对象,这个对象代表的就是这个模块
模块标识:通过标识来找到该模块
- 核心模块:由node引擎提供的模块
核心模块的标识就是模块的名字 - 文件模块:由用户自己创建的模块
文件模块的标识是文件的路径(相对/绝对)