2014-04-09 4 views
9

그래서 수동으로 수정하는 방법을 알고 있지만 그것은 성가신 일입니다! Browserify jQuery가 정의되지 않았습니까?

나는 부트 스트랩 dropdown.js을 포함하고 함수의 끝에서 그것은이처럼 보인다

'bootstrap': { 
    "exports": 'bootstrap', 
    "depends": { 
     "jquery": '$' 
    } 
}, 

가 아니라 내가 종속성으로 jQuery를 설정 내 심 내부

}(jQuery);

입니다 방법은 $을 사용하지만 콘솔에 마지막에 jQuery가 있기 때문에 콘솔에

ReferenceError: jQuery is not defined 

}(jQuery); 

}($);으로 변경하십시오.

내 질문은 누구든지 수동으로 수행하지 않고이를 더 잘 수행 할 수있는 아이디어가 있습니까? 아니면 수동으로 스크립트를 가장 잘 편집하고 있습니까?

+1

, 등의 사용을 모두 플러그인을 포함해야한다 : '$' 'JQuery와'에 'jQuery를' 도움이 될 수 있습니다.그러나 나는 확실한 답을 알고 싶다. – Lotus

+0

여기에 몇 가지 세부 코드를 추가 하시겠습니까? 여기에 포함 된 jquery 파일이 적합하지 않은 경우 발생합니다. – Mahipat

+0

@Mahipat 정말 고통 스러울 수 있습니다. 나는 어떻게 느끼는지 압니다. 내가 한 것은 실제 플러그인 스크립트를 편집하는 것입니다. 나는이 방법을 선호하지 않지만 효과적이다. 대부분의 플러그인은 자체 호출 함수로 작성됩니다'(function ($) { $ .fn.function_name = function (x) {}; }) (jQuery);'이 코드는 jQuery 키워드를' $',하지만 몇 가지 이유로 수동으로'(jQuery)'를'($)'로 변경해야합니다. 나는 그것이 효과가 있은 후 많은 생각을하지 않았지만 아마 이것을 다시 생각해야한다. –

답변

0

내 솔루션이 최적이거나 이상적이라고 생각하지 않습니다. 내 질문에 대답하지 않지만 누군가이 문제를 해결하면 임시 솔루션으로 작동하도록 할 수 있습니다. 프로젝트에 정체하지 않고 진행합니다.

대부분의 경우 모든 jQuery 플러그인은 이와 같이 자체 호출 함수로 작성됩니다.

(function($){ 
    $.fn.function_name = function(x){}; 

})(jQuery); 

는 단순히 플러그인 자체에 가서 ($)

(function($){ 
    $.fn.function_name = function(x){}; 

})($); 

여전히 문제가 발생하는 경우에 (jQuery)을 변경, 당신은 심 (shim)이 package.json 파일에 정의했는지 확인하고 당신은 require 문을 포함하는 jQuery 플러그인을 포함한다.

}, 
"plugin": { 
    "exports": "plugin", 
    "depends": [ 
     "jquery: $", 
     "bootstrap: bootstrap" 
    ] 
} 

및 plugin.js의 내부

:

var $ = require('jquery')(window); 
global.jQuery = require("jquery"); 
var bootstrap = require('bootstrap'); 
var plugin = require('plugin'); 

plugin(); 

내 문제를 해결

10

당신은 global.jQuery = require("jquery")

이것은 내 심을 사용할 수 있습니다. 희망이 도움이됩니다. :)

+0

공유 해 주셔서 감사합니다.'$'를 사용하면 작동하지 않고 심의 파일에서'jQuery'를 사용하는 것이 일반적으로 해결됩니다. 그 일이 결코 실패하면 확실히 이것을 참조하십시오. –

1


"./node_modules/jquery/dist/jquery.js": { "수출": "$" } 요구


var에 jQuery를 = $ = require ('$');

(function($){ 
$.fn.function_name = function(x){}; 
})($); 

뿐만 아니라 'JQuery와'변화 내가 추측이 있다면

(function($){ 
    $.fn.function_name = function(x){}; 
})(jQuery); 
관련 문제