任何压缩JS文件的高级工具

Any advanced tool to compress a JS file?

本文关键字:高级 工具 文件 压缩 JS 任何      更新时间:2023-09-26

我正在寻找一个工具来压缩我的JS文件。

我想要的不仅仅是简单地删除不必要的字符;我更喜欢能够减少长度的工具函数中的局部变量也是如此。

更好的是,该工具可以减少所有其他工具的长度诸如全局变量、函数名称等内容。这是为了防止代码在未经我们同意的情况下被网络查看者使用。

例如,该工具应将变量或函数名称从"some_variable"、"some_function"重命名为"sv"、"sf"等。然后重构所有相关引用。

我试图挖网,但找不到类似的东西。

我认为这个可以帮助你: http://www.minifyjavascript.com/

我过去用过它,它做得很好!

Google Closure Compiler 就是这样做的。它有各种设置,但即使是"简单优化"设置也会缩短变量名称和(在它知道函数永远不会在脚本外部调用的情况下)函数名称。当有节省时,它甚至会内联功能。

例如,给定此脚本:

jQuery(function($) {
    var allDivsOnThePage = $("div"),
        someParagraphsAsWell = $("p");
    setColor(allDivsOnThePage, "blue");
    setColor(someParagraphsAsWell, "green");
    function setColor(elms, color) {
        return elms.css("color", color);
    }
});

使用闭包编译器进行简单的优化(并告诉它我们正在使用 jQuery)会产生:

jQuery(function(a){var b=a("div"),a=a("p");b.css("color","blue");a.css("color","green")});
请注意,它不仅缩短了标识符,而且在检测到可以的地方

重用了一个标识符(在这种情况下,这并没有为我们节省任何东西,但在其他一些情况下它可以),并内联了setColor函数,因为这导致了节省。

试试 YUI 压缩器:

http://developer.yahoo.com/yui/compressor/

对我来说,它似乎是目前最强大的之一。