bebugger调试理解commonJS原理

上面图片是bebugger一个导入的模块,使用vscode可以轻松的看到调用栈,通过断点调试进入断点

Mode函数的原型里面有一个require方法,函数里面有Module._load()加载模块,传入导入的路径地址和当前实例

里面的主要函数有Module._resolveFilename,该方法是解析路径的,把相对路径变成绝对路径的,尝试加载各种文件类型如JS或者JSON等等
 

Module._cache是模块的缓存对象,如果模块有缓存,则返回导出内容,如果不是则创建一个模块

 创建模块,将模块写入缓存,尝试加载模块

 

根据文件的后缀加载各种类型的文件

 

读取文件,将文件内容编译出来,用闭包函数包裹

 

 

posted @ 2019-01-20 13:08  前端精髓  阅读(371)  评论(0编辑  收藏  举报
在这里插入图片描述