码迷,mamicode.com
首页 > Web开发 > 详细

requireJS的原理

时间:2015-02-25 23:37:29      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        有两个函数,一个require,另一个define。
        define("模块名称",["依赖项"],funtion(依赖项){
            function t(){}
            return t;
        });
        
        define(["a","b","c"],function(a,b,c){
            
        });
        首先是查找依赖项,
        如果在全局变量req.dependence找不到依赖项,
        就根据依赖项的名字,下载对应js文件。下载可以是异步下载。
        等js文件下载好,立即执行js文件内容,把返回的结果注册到req.dependence下面。同时把返回结果,注入到回调函数。
        结构类似如下:
        "name":{
            "name":"",
            "dependence":[],
            "fn":function(){}
        }
        这里要注意两个问题,1是循环依赖,2是同名模块覆盖。
        循环依赖的解决:记住自己模块的名字,如果有直接依赖项或者间接依赖项是自己,那么报错。
        同名模块的解决:覆盖或者报错。
        有多个依赖项下载,要有计数器。等他们全下载并执行完,才执行回调函数。
    </body>
</html>

 

requireJS的原理

标签:

原文地址:http://www.cnblogs.com/samwu/p/4300396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!