我正在寻找一种工具来压缩我的 JS 文件。
我想要的不仅仅是简单地删除不必要的字符;我更喜欢工具能够减少函数中局部变量的长度。
更好的是,该工具可以减少所有其他内容的长度,如全局变量、函数名等。这是为了保护代码不被 Web 查看者在未经我们同意的情况下使用。
例如,该工具应将变量或函数名称从“some_variable”、“some_function”重命名为“sv”、“sf”等。然后重构所有相关引用。
我试图挖网,但找不到类似的东西。
我正在寻找一种工具来压缩我的 JS 文件。
我想要的不仅仅是简单地删除不必要的字符;我更喜欢工具能够减少函数中局部变量的长度。
更好的是,该工具可以减少所有其他内容的长度,如全局变量、函数名等。这是为了保护代码不被 Web 查看者在未经我们同意的情况下使用。
例如,该工具应将变量或函数名称从“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
函数,因为这导致了节省。