0
jQuery를로드하려면 RequireJS를 사용하고 싶습니다. (jQuery가 이미 초기화되어있는 제어되지 않은 환경에서 작동하도록 개발 된 모듈), 다른 버전의 jQuery가 필요할 때 몇 가지 문제가 있습니다. 결과는 알 수 없습니다. 내부 필요 기능 블록 jQuery 버전은 일종의 무작위입니다. 뭐가 잘못 되었 니? RequireJS 다른 jQuery
<!DOCTYPE html>
<html>
<head>
<script data-main="scripts/main" src="http://ajax.cdnjs.com/ajax/libs/require.js/0.24.0/require.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
</head>
<body>
<script>
console.log(jQuery.fn.jquery);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"], function() {
console.log($.fn.jquery);
});
},1000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"], function() {
console.log($.fn.jquery);
});
},2000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.js"], function() {
console.log($.fn.jquery);
});
},3000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"], function() {
console.log($.fn.jquery);
});
},4000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"], function() {
console.log($.fn.jquery);
});
},5000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"], function() {
console.log($.fn.jquery);
});
},6000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"], function() {
console.log($.fn.jquery);
});
},7000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.js"], function() {
console.log($.fn.jquery);
});
},8000);
setTimeout(function(){
require(["http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"], function() {
console.log($.fn.jquery);
});
},9000);
</script>
</body>
</html>
결과는 다음과 같습니다 :
1.6.2
1.8.0
1.4.4
1.8.0
1.8.0
1.6.2
1.6.2
1.6.2
1.6.2
1.6.2
을 사용해야합니다? 그렇다면 console.log 문이 작성된 순서대로 실행된다는 보장이 없습니다. –
예, async가 필요하지만 require의 목적 중 하나는 캡슐화 된 코드 블록을 함수 클로저 안에 넣는 것입니다. 이론적으로 각 요구 사항에는 첫 번째 매개 변수로 전달되는 jQuery 버전이 있어야합니다. – Alexander