RequireJS按需加载疑问??

anx 发布于 2013/05/05 01:02
阅读 2K+
收藏 0
今天查看了RequireJS有关资料,发现所有资料的写法都是一次性异步的加载完所有的JS文件,而不是按需加载(按需:用到那个模块时才会去加载那个模块的js文件)。我查看了seaJs里面有提及到用require.async()能做到按需加载。 不知道RequireJS里面是如何做到的呢?
加载中
0
anx
anx

我的实验:

    test1.js

    define(function(require, exports, module) {
        var func = function() {
        var test = require("test");
        test.testFunc();
        };
        exports.func = func;
    })

  test.js

    define(function(require, exports, module) {
        var func = function() {
            alert("Test Func");
        };
        exports.testFunc = func;
    })

    main.js

    require.config({
        paths:{
                jquery:"/guagua/templet/js/jquery-1.7.2.min"
            }
    });
    require(['jquery','test1'], function($,test1) {
            $("#button").click( $.proxy( test1, "func" ) );
    });

    require.html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>require.html</title>
      </head>  
      <body>
        This is my HTML page. <br>
        <button id="button"> Click</button>
        <script type="text/javascript" src="./require.js" data-main='main'>    </script>
      </body>
    </html>


   预期: test.js文件应该会在点击按钮时才会去加载。

    实际: 访问require.html时test.js就已经被加载到本地了。

    问题:requireJs如何才能做到真正的按需下载js文件呢?


0
a
a1389228
按需加载的是资源吧 
返回顶部
顶部