我正在开发一个项目,其中代码大小至关重要,并使用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,因为它们没有在主要来源中使用。