我有一个使用标准非AMD javascripts的网站,它有jQuery版本“1.7.2”。我希望转向使用require.js我有一个看起来像这样的主文件。
require.config({
paths: {
jquery: "../components/jquery/jquery.min"
}
});
require(["jquery"], function($) {
console.log($().jquery;);
});
我想要发生的是运行和登录(1.9.1)以及我能够在浏览器中运行console.log($().jquery;);
并获得“”1.7.2“。这意味着所有都需要依赖利用新版本,但要求自己不会混淆全球范围。我怎样才能实现这一目标?
在main的构建文件中,我可以看到包含jQuery而不在任何函数内。我希望它嵌套在一个函数中,防止它在全局范围内。
我甚至可以做这样的事情
require.config({
paths: {
jquery: "../components/jquery/jquery.min"
},
shim: {
jquery:{
exports: "$JQ"
}
}
});
define("main", ["jquery"], function($JQ) {
console.log($JQ().jquery);
});
但它不起作用......
答案 0 :(得分:0)
也许试试这个:
修改强>:
require.config({
paths: {
jquery: "..components/jquery/jquery.min",
jquery172: "../components/jquery/jquery-1.7.2.min",
jquery191: "../components/jquery/jquery-1.9.1.min"
}
});
// use jQuery 1.7.2 here
define("main", ["jquery172"], function($JQ) {
console.log($JQ().jquery);
});
// use jQuery 1.9.1 here
define("some other module", ["jquery191"], function($JQ) {
console.log($JQ().jquery);
});
// use whatevers global jQuery here
define("some other module", ["jquery"], function($JQ) {
console.log($JQ().jquery);
});