我有一个关于通过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.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();
});
你可以看到没有AMD的版本要快得多。我做错了什么?
答案 0 :(得分:1)
@jfriend00的评论解释了为什么在应用requirejs之后它甚至更慢。
但是,requirejs提供了一个名为r.js的优化工具,它可以优化你的js代码,并通过将代码片段合并到更大的js文件中来加快它的速度。
请参阅WHY WEB MODULES?了解详情。