web前端Web前端之路Web前端之路

Requirejs源码阅读

2016-04-25  本文已影响312人  潘逸飞

接着上文的学习以及尝试实现,准备好好看下源码的实现。

var requirejs, require, define;
(function (global, setTimeout){...}(this ,setTimeout));

整体结构就是放出了3个全局的变量,然后在一个匿名函数中对3个变量进行赋值。这里把this和setTimeout传进去应该是历史原因,怕这些东西被改写

然互看匿名函数的整体的结构:

执行的主要流程

主要是就是执行了一次req({});然后初始化了cfg,然后再执行了一次req(cfg)。

这里函数执行的比较复杂,我花了一些时间画了一个图,画的精疲力尽:

requirejs.png

图里面其实已经画的很详细了,我的图只是其中一种执行的顺序,简单总结就是

小的tip

nextTick里面的4ms是因为html5的规范要求的

顺便给个github的传送门,喜欢的朋友star一下啊,自己平时遇到的问题以及一下学习的思考都会在上面记录~

参考:

http://www.cnblogs.com/yexiaochai/p/3632580.html

http://www.cnblogs.com/zhiyishou/p/4770013.html

http://www.nihaoshijie.com.cn/index.php/archives/381
上一篇下一篇

猜你喜欢

热点阅读