高度な最適化機能を備えたGoogle Closure Javascriptコンパイラの問題が発生しています。Googleクローズコンパイラの高度な最適化では一部の変数が最適化されていません
var myClass = function() {
this["myFunc"] = this.myFunc;
this["myFunc2"] = this.myFunc2;
};
window["myClass"] = myClass;
myClass.prototype = {
myFunc: function() { alert("myFunc"); },
myFunc2: function() { alert("myFunc2"); }
};
問題は時々、何らかの理由で、myFunc
とmyFunc2
が短縮されませんということです、と私は最終的にこのようなコードを参照してください。ドキュメントは、エクスポートJavascriptを維持するために、わかるように私はこのような何かを出力:
x.myFunc=x.myFunc;x.myFunc2=x.myFunc2;
これは明らかに理想的ではありません。
これを防ぐにはどうすればよいですか?
さらに、いくつかのキーワードがあることが示されています。コンパイルされない「取得」します。
var myClass = function() {
this["get"] = this.get;
this["myFunc2"] = this.myFunc2;
};
window["myClass"] = myClass;
myClass.prototype = {
get: function() { alert("myFunc"); },
myFunc2: function() { alert("myFunc2"); }
};
私はまだかかわらず、それを引き起こしているのか分からない
function a() {
this.get = this.get;
this.myFunc2 = this.a
}
window.myClass = a;
a.prototype = {get:function() {
alert("myFunc")
}, a:function() {
alert("myFunc2")
}};
にコンパイルします。
更新を参照してください。 –
あなたのアップデートに対応するために私の答えを広げました。 – bolinfest
特にどのアノテーションを使用しますか? –