Googleクロージャコンパイラを使用してjQuery 2.0.0
をコンパイルします。私がthis externを使用してそれを行うときExterns for jQuery 1.9 - 1.11 & 2.0 - 2.1
GoogleクローズコンパイラでjQueryをコンパイルするとUncaught TypeErrorが発生する
私は次のエラーを受け取ります:Uncaught TypeError: Cannot read property 'source' of undefined
。
d.each(d.i.match.ja.source.match(/\w+/g), function(a, b) {
var c = ra[b] || d.find.attr;
ra[b] = function(a, b, d) {
var h, k;
d || (k = ra[b],
ra[b] = h,
h = null != c(a, b, d) ? b.toLowerCase() : null,
ra[b] =
k);
return h
}
});
このコードはここで非コンパイルされたコード内に対応:旗アップコンパイルされたコードの以下の部分より下
jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g), function(i, name) {
var getter = jQuery.expr.attrHandle[name] || jQuery.find.attr;
jQuery.expr.attrHandle[name] = getSetInput && getSetAttribute || !ruseDefault.test(name) ?
function(elem, name, isXML) {
var fn = jQuery.expr.attrHandle[name],
ret = isXML ?
undefined :
/* jshint eqeqeq: false */
(jQuery.expr.attrHandle[name] = undefined) !=
getter(elem, name, isXML) ?
name.toLowerCase() :
null;
jQuery.expr.attrHandle[name] = fn;
return ret;
} :
function(elem, name, isXML) {
return isXML ?
undefined :
elem[jQuery.camelCase("default-" + name)] ?
name.toLowerCase() :
null;
};
});
、私はオンライン閉鎖コンパイラに入ってるものです:
// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @code_url https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.js
// @externs_url https://raw.githubusercontent.com/google/closure-compiler/master/contrib/externs/jquery-1.9.js
// ==/ClosureCompiler==
// ADD YOUR CODE HERE
$("#foo").html("Example Text");
誰かがjQueryの後のバージョンで動作するようにexternを修正する方法を知っていたのですか?
[GoogleクロージャコンパイラでJqueryを動作させる方法](http://stackoverflow.com/questions/16461915/how-to-make-jquery-work-with-google-closure-compiler) –