在 RequireJS 之前预先装载某些代码块

接着上一篇文章:http://blog.csdn.net/joyhen/article/details/21166757

var __funcList = []; 
            var _run = function (aFunc) { 
                __funcList.push(aFunc); 
            }; 
            var require = { urlArgs: 'v=2001.13' };

页面源码中有很多的添加执行的js模块,如下:

<script>
_run( function() {
    require( ["wojilu.core.sitetop"], function( topnav ) {
        topnav.init('/layouts/topnav/nav', '/main/checklogin', '/register/register', '/common/resetpwd/stepone');
    });
});
</script>
<script>_run(function () { wojilu.ui.slider(); }); </script>
<script>
    _run(function () {
        require(['wojilu.app.content'], function (x) {
            x.mergeSection();
            x.bindSendButton('/content396/submit/post/index');
        });
    });
</script>
<script>
    _run(function () {
        require(['wojilu.core.base'], function (x) { x.customSkin().backTop(); });
    });
</script>
目的只有一个,就是将所有要执行的js模块推入到 __funcList对象中,然后会在 RequireJS的main.js中执行:

注意这一句:

<script data-main="http://static.wojilu.com/js/main" src="http://static.wojilu.com/js/lib/require-jquery-wojilu.js?v=2001.13"></script>
我们看看 http://static.wojilu.com/js/main.js的js具体是什么:

require(["lib/bootstrap-dropdown"], function() { 
        
    $(function() {
        for( var i=0;i<__funcList.length;i++) {
             __funcList[i]();
        }
    }); 

});
而jquer库也被放在了和requirejs一起(当然,这里面作者另行封装了一些其它方法),可以打开这个里面看到:

http://static.wojilu.com/js/lib/require-jquery-wojilu.js?v=2001.13






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值