8 规范
约 348 字大约 1 分钟
2025-06-28
根据文件路径,找到模块文件,读取文件内容进行执行
- 为了保证高效的执行,仅加载必要的模块,node只有再执行到require函数是才会加载并执行模块
- 为了隐藏模块中的代码,node执行模块的时候会放到一个立即执行函数中执行,保证不污染全局变量
- 为了保证顺利的导出模块内容,nodejs做了以下处理: 在模块开始执行前,初始化一个值module.exports={},module.exports即模块的导出值。为了方便开发者便捷的导出,Codejs在初始化完module.exports后,又声明了一个变量exports=module.exports
(function(module){
module.exports={}
var exports=module.exports
//模块中的代码
return module.exports
})()
- 为了避免反复加载同一个模块,nodejs默认开启了模块缓存,如果加载 的模块已经被加载过了,则会自动使用之前的导出结果
缺点: CommonJS是同步的,必须要等到加载完文件并执行完代码后才能继续向后执行 由于node运行在本机上,因此读取是在磁盘上读取,速度较快,但换到浏览器环境就不一样了,在浏览器中运行需要从网络上获取文件
贡献者
版权所有
版权归属:PinkDopeyBug