接着上一篇文章:http://blog.csdn.net/joyhen/article/details/21166757
<script>var __funcList = []; var _run = function (aFunc) { __funcList.push(aFunc); }; var require = { urlArgs: ‘v=2001.13‘ };</script>页面源码中有很多的添加执行的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