gpt4 book ai didi

javascript - 闭包编译器 : How to separate and control compilation/minification passes?

转载 作者:行者123 更新时间:2023-11-30 16:44:57 26 4
gpt4 key购买 nike

Google Closure Compiler 是一个强大的 JS 编译器和压缩器,它提供了许多优化选项,例如重命名变量、删除死代码、折叠变量声明、重写控制流结构等。

我想要的是在输入的 JS 程序上单独应用这些优化中的一个或一些。例如,我可能想用短名称重命名变量,但不想删除死代码。我怎样才能实现这种详细的编译传递控制? CC 的源代码是否公开了特定的接口(interface)来进行此自定义,或者我应该自己编写 pass(如果是,我应该如何开始?)。

命令行功能确实提供了几个用于控制编译的选项,但不足以满足我上面的要求。由于源代码有点复杂,而且很少能找到详细的设计文档,我真的被困在这里了。任何见解将不胜感激,谢谢:)

最佳答案

看看DefaultPassConfig .该类根据 CompilerOptions 中设置的选项列出编译期间运行的所有 channel 。一些 CompilerOptions 可以从命令行控制,但我们通常尽量使编译器相对简单易用,而不是让用户对一堆不同的编译器标志做出决定。此外,有些传递实际上增加代码大小,但它们这样做的方式使得后面的传递更容易减少代码大小。

当然,如果您只是试验编译器或试图了解它的工作原理,您可以通过添加新标志或直接修改 DefaultPassConfig 来打开和关闭您想要的任何 channel 。

关于javascript - 闭包编译器 : How to separate and control compilation/minification passes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31396413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com