使用 requirejs,我的 main.js 文件如下:
requirejs.config({
baseUrl: '/javascript/',
paths: {
jquery: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min',
async: 'requirePlugins/async',
hbs: 'hbs'
},
waitSeconds: 7
});
define(['common'], function () {
loadFonts();
});
通过 script 调用将 main.js 包含在页面中
<script data-main="/javascript/main.js" src="/javascript/require-2.0.1.js"></script>
Common是网站的基本功能,例如jquery文档中的ready函数等都被包装在一个define调用中:
define(['jquery'], function() {
//jQuery dependant common code
});
这个没问题,jQuery是从Google CDN加载的,代码也被执行了。但是当我在加载main.js之后添加一个require调用时
<script data-main="/javascript/main.js" src="/javascript/require-2.0.1.js"></script>
require(['jquery'], function ($) {
//code
});
请求jquery的路径应该是定义为使用Google CDN而不是从/javascript/jquery.js获取。虽然我还是requirejs的新手,但在其他请求被触发之前应该先定义好路径。请问有谁能够帮我理解我错在哪里了吗?
data-main
。使用两个脚本的方法消除了我的定义加载错误。非常感谢! - Yuck