gpt4 book ai didi

javascript - 使用 RequireJS 设置 jQuery noConflict

转载 作者:行者123 更新时间:2023-12-03 12:20:23 25 4
gpt4 key购买 nike

我一直在关注官方RequireJS教程here没有任何运气。我想我可能误解了一些非常基本的东西。

我收到的错误如下:

Uncaught TypeError: Cannot read property 'noConflict' of undefined 

这是文件夹结构:

/scripts/libs
jquery.js // current latest version
jquery-private.js
require.js // current latest version
/scripts
main.js
page.html

page.html如下:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>Questions</title>
<script data-main="scripts/main" src="scripts/libs/require.js"></script>
</head>
<body>
hi
</body>
</html>

main.js如下:

require.config({

baseUrl: 'scripts/libs',
map: {

'*': {'jquery': 'jquery-private'},
'jquery-private': 'jquery'
// I have also tried this line instead, as in the tutorial:
// 'jquery-private': { 'jquery': 'jquery' }
}
});

require(['jquery'], function(jq) {

alert('test');
});

并且,jquery-private.js如下:

define(['jquery'], function(jq) {

return jq.noConflict(true);
});

我不知道为什么它不起作用。我认为这是某种设置错误。 jquery-private.js 文件中的 jq 变量未定义。

如果您有任何疑问,请告诉我。提前致谢!

编辑:

我能够使用它作为 require.config 来让它工作:

require.config({

baseUrl: 'scripts/libs',
paths: {

'jquery': 'jquery'
},
map: {

'*': {'jquery': 'jquery-private'},
'jquery-private': { 'jquery': 'jquery' }
}
});

再次感谢!

最佳答案

没有 map 的版本

require.config({
baseUrl: 'scripts/libs',

paths: {
jquery: 'jquery-1.11.1.min'
}
});

require(['jquery-private'], function ($) {
console.log('jQuery version: ' + $.fn.jquery)
});

以及具有 map 配置的版本

require.config({
baseUrl: 'js/lib',

paths: {
'print': '../patch/print',
'jquery': '../patch/jquery-1.9.0'
},

map: {
'*': {jQuery: 'jquery'},
'jQuery': { 'jquery': 'jQuery' }
}
})

require(['jQuery'], function($) {
console.log('jQuery version: ' + jQuery.fn.jquery);
});

关于javascript - 使用 RequireJS 设置 jQuery noConflict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24467939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com