0

私はおおよそこの構造を持つクラスを持っています:

function MyClass() {
    // constructur stuff
}

MyClass.prototype.myFunc = function () {
    // example function
};

MyClass.myStaticFunc = function () {
    // example static function
};

クロージャ コンパイラ アノテーションの設定に時間を費やし、最終的にすべての警告を取り除きました。そして、あなたは何を知っていますか、それは驚くべき100%のサイズを縮小します. 次に、関数のエクスポートについて読みましたがwindow['MyClass'] = MyClass、コンストラクターのみをエクスポートします。正直なところ、すべてのメソッドを個別にエクスポートしたくありません。コンパイラは、公開されているすべてのメソッドをエクスポートして難読化するのではなく、@private注釈付きのメソッドをエクスポートすると思いました。

クロージャーコンパイラーにそれを教え、すべてのメソッドを個別にエクスポートする必要がないようにする最良の方法は何ですか?

4

2 に答える 2

2

使用ADVANCED_OPTIMIZATIONSするには、すべてのパブリック メソッドとプロパティをエクスポートする必要があります。パブリック メソッドとプロパティの名前を変更したくない場合は、 を使用しますSIMPLE_OPTIMIZATIONS

詳細については、Which Compilation Level is Right for Meの投稿を参照してください。

于 2013-04-15T13:02:27.437 に答える