requirejs的学习笔记
requirejs的源码学习(01)——初始化流程_lengye7的博客-CSDN博客
requirejs的源码学习(02)——模块加载流程_lengye7的博客-CSDN博客
requirejs源码学习(03)——define即其依赖加载流程_lengye7的博客-CSDN博客
requirejs的源码学习(04)——define中回调能顺序执行的原理_lengye7的博客-CSDN博客
还有一些没有弄清楚的东西
1、如果是采用data-main方式,那么加载的过程是怎么样的?
2、环形依赖是怎么处理的?
3、多个依赖是怎么处理的?
4、已经加载的并defined的模块,如果被一个新的模块依赖,这是个处理过程是什么样的?
5、define的回调函数中的require("moduleA")是如何到处获取moduleA的到处内容的?
需要注意,这里的require与全局的require API有所区别,这里是的require是handler中的那个,一般会被初始化为context.makeRequire(),即localRequire。
对于已经加载并defined的模块,require会直接去context.defined队列中寻找那些已经定义好的模块。
对于
define(function(){
var moduleA = require('moduleA')
})
这种形式而言,require就会去context.defined队列中去寻找那些已经定义好的模块,因为回调能够得到执行,说明require所需要的的所有模块都已经定义好了。
参考:
https://blog.csdn.net/lengye7/article/details/123613218