需要js和加载脚本的时间

时间:2014-03-07 07:17:54

标签: javascript requirejs

我有一个关于通过require.js加载脚本时间的问题。据我所知,异步加载是指所有脚本独立加载,同步是每个脚本逐个加载的时间。但我看到相反的情况: 没有require.js喜欢:

<script type="text/javascript" src="templates/js/new/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="templates/js/new/eventTrackerManager.v.1.0.js"></script>
<script type="text/javascript" src="templates/js/new/constants.js"></script>
<script type="text/javascript" src="templates/js/new/utils.js"></script>
...

enter image description here

使用require.js,如:

require.config({
    baseUrl: "templates/js/new/",
    paths: {
        "jQuery": "lib/jquery-2.0.3.min",
        "jQueryUI" : "lib/jquery-ui-1.10.3.custom.min",
        "Utils" : "modules/utils",
        "contactform" : "modules/contactform"
                ...
    },
    shim: {
        "jQueryUI": {
            exports: "$",
            deps: ['jQuery']
        }
    }
});
require(["contactform"], function(CF) {
    CF.init();
});

enter image description here

你可以看到没有AMD的版本要快得多。我做错了什么?

1 个答案:

答案 0 :(得分:1)

AMD本身并没有让你的js变得更快。它为您提供了更好的代码组织,避免了js库的冲突。

@jfriend00的评论解释了为什么在应用requirejs之后它甚至更慢。

但是,requirejs提供了一个名为r.js的优化工具,它可以优化你的js代码,并通过将代码片段合并到更大的js文件中来加快它的速度。

请参阅WHY WEB MODULES?了解详情。