1

コードサイズが最も重要なプロジェクトに取り組んでおり、Google Closure Compiler の ADVANCED_OPTIMIZATIONS を使用してコードをコンパイルしています。プロトタイプを使用して、特定の組み込みオブジェクト (Date や Number など) を拡張する必要があります。これらの拡張機能を再利用可能なライブラリにパッケージ化し、実際にコードで使用されるものだけをコンパイラに含めたいと考えました。

これまでに思いついた唯一の方法は、コンパイラ フラグとして個別に切り替えることができる '@defined' 定数でそれぞれをラップすることです。他のすべての方法では、これらの拡張機能がすべて含まれているか、まったく含まれていないようです。これはかなり扱いにくいです、より良い方法はありますか?

明確にするために:

ライブラリ ファイル内

Number.prototype.foo = function() { ... }

Number.prototype.bar = function() { ... }

Number.prototype.something = function() { ... }

コード内

function somefunc() {
   25.foo();
   ...
   41.foo();
}

Number.bar と Number.something がプライマリ ソースで使用されていないため、コンパイルされたコードに表示されることは望ましくありません。

4

0 に答える 0