seajs加载流程
2018-01-17 08:49:37 0 举报
seajs 加载流程图
作者其他创作
大纲/内容
生成一个模块的对象信息,并将对象赋值给全局变量anonymousMeta{ \"uri\": \"\
main.js代码执行完毕
将上面的anonymousMeta保存到main.js中
没有等待root模块加载完的模块
开始下载main.js,并增加onload回调
是否有preload(seajs.config中配置的 preload 资源)
初始化一个root模块,main.js会当做一个依赖项。调用root模块的实例方法load,加载其依赖项main.js\u2028{ \"uri\": \"http://localhost:7891/app/_use_0\
循环加载完preload后
有
无
执行main.js模块的onload方法,将等待main.js模块加载完的模块的_remain值减去1,此时等待main.js加载完的模块为root模块,root模块的_remain == 0
初始化main.js模块{ \"uri\": \"http://localhost:7891/static/hello/src/main.js\
执行模块的onload方法,将所有等待当前模块加载完的模块的_remain属性减去1,若某个模块的_remain==0,就会执行这个模块的onload方法,此时等待a.js和b.js加载完的就是main.js,两个都加载完后,main.js模块的_remain==0
调用root模块的onload方法,执行root模块的callback,执行main.js模块传入的函数(工厂函数)
main.js 加载完毕,执行onload回调
加载完a.js
全部加载完毕
加载完b.js
seajs.use(\"./main\")
调用main.js模块实例方法load,加载main.js依赖的模块(a.js,b.js),加载的流程和mian.js一致
0 条评论
下一页