Skip to content

规范

约 353 字大约 1 分钟

原理前端node

2025-06-28

根据文件路径,找到模块文件,读取文件内容进行执行

  1. 为了保证高效的执行,仅加载必要的模块,node只有再执行到require函数是才会加载并执行模块
  2. 为了隐藏模块中的代码,node执行模块的时候会放到一个立即执行函数中执行,保证不污染全局变量
  3. 为了保证顺利的导出模块内容,nodejs做了以下处理: 在模块开始执行前,初始化一个值module.exports={},module.exports即模块的导出值。为了方便开发者便捷的导出,Codejs在初始化完module.exports后,又声明了一个变量exports=module.exports
(function(module){
	module.exports={}
	var exports=module.exports
	//模块中的代码
	return module.exports
})()
  1. 为了避免反复加载同一个模块,nodejs默认开启了模块缓存,如果加载 的模块已经被加载过了,则会自动使用之前的导出结果

缺点: CommonJS是同步的,必须要等到加载完文件并执行完代码后才能继续向后执行 由于node运行在本机上,因此读取是在磁盘上读取,速度较快,但换到浏览器环境就不一样了,在浏览器中运行需要从网络上获取文件

贡献者

PinkDopeyBug

公告

本博客内容原本使用obsidian编写,由于没有仔细配置,以至图片引用使用obsidian风格。

且图片存储路径频繁变更导致部分文章图片无法正常显示。

为您带来不便请谅解。

ps:贡献者一直都只有wynnsimon一人,显示Pink的贡献者是因为我没好好配置git。后面因为懒就没一个个修改。如果被提及的人不希望被显示可以联系我我会立即删除。