我有一个名为“lib.jquery.js”的文件(所有库都以“lib。”开头,而不是可重复使用的应用程序模块以“app。”开头)在我的baseUrl目录中,以及模块定义:
define([
"lib.jquery"
],
function(
jQuery
){
console.log(jQuery) // undefined
})
但是这里的jQuery是未定义的,因为jQuery模块名称在其中被硬编码为“jquery”而不是“lib.jquery”。如何正确配置RequireJS以使所有加载模块在请求“jquery”或强制jQuery模块命名为“lib.jquery”时检查“lib.jquery”文件?
答案 0 :(得分:1)
jquery脚本将模块定义为“jquery”,并期望您只需将其引用为“jquery”。这样做是因为不应该加载2个不同版本的jquery文件。
解决方法是将lib.*.js
个文件放入名为lib
的单独目录中。
define(['lib/jquery'], function (jQuery) {
});
答案 1 :(得分:0)
我在这里找到了解决方案:Use requirejs and jquery, without clobbering global jquery?
使用“jquery loader module”创建文件lib.jquery.js:
define(['lib.jquery-core'],function(){ return jQuery.noConflict(true); });
现在它按预期工作。硬编码名称是邪恶的。