Javascript 需要js和加载脚本的时间

Javascript 需要js和加载脚本的时间,javascript,requirejs,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/javas

我有一个关于通过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>
...
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();
});


正如你所看到的,没有AMD的版本要快得多。我做错了什么?

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

@jfriend00的评论解释了为什么在应用了requirejs之后速度会更慢

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


有关详细信息,请参阅。

当您提到
r.js
时,您是指RequireJS优化工具吗?在您的第一个示例中,有四个连续的
标记,一个好的浏览器会并行地获取每个脚本的.js文件,然后依次执行。@rhgb否,对不起,我有点困惑。当然,我的意思是要求。js@jfriend00但在第二个示例中,脚本一个接一个地加载,然后以相同的方式执行。这是否意味着第一个例子的性能更好?请看我下面的答案。require.js提供更好的结构,r.js提供更好的性能。