我正在开发一个代码大小至关重要的项目,并使用 Google Closure Compiler 的 ADVANCED_OPTIMIZATIONS 编译我的代码。我需要使用它们的原型扩展某些内置对象(例如日期和数字)。我想将这些扩展打包到一个可重用的库中,并让编译器只包含代码中实际使用的那些。
到目前为止,我想出的唯一方法是将每个都包装在一个“@defined”常量中,我可以单独将其切换为编译器标志。其他所有方式似乎要么包括所有这些扩展名,要么不包括所有这些扩展名。这有点笨拙,有没有更好的方法?
澄清:
在库文件中
Number.prototype.foo = function() { ... }
Number.prototype.bar = function() { ... }
Number.prototype.something = function() { ... }
在代码中
function somefunc() {
25.foo();
...
41.foo();
}
我不想要的是 Number.bar 和 Number.something 出现在编译的代码中,因为它们没有在主要源代码中使用。