在 Java 中缩小和混淆 JavaScript 代码

问题描述 投票:0回答:2

我多年来一直使用 YUI Compressor 来缩小和混淆 JS 文件。但现在我需要在服务器上混淆和缩小动态生成的 JavaScript 代码。因此,这里的主要区别在于,不会有应该混淆的 JS 文件,而是向服务器(Java)发出请求,该服务器应该生成部分 JS 代码并返回已经缩小和混淆的文件。

YUI Compressor 不提供这样做的可能性。我查看了源代码,并且已经弄清楚应该重写哪些方法才能使其工作。我不想这样做(但如果没有其他办法,就必须这么做)。

那么还有其他 Java 库允许直接从 Java 代码中缩小和混淆 JavaScript 字符串吗?

java javascript minify yui-compressor
2个回答
1
投票

计划a)

不要将 YUI 作为命令行工具使用,而是作为 Java 库并在代码中调用它。

JavaScriptCompressor 接受 Reader 后代(例如 InputFileReader)。

    JavaScriptCompressor compressor = new JavaScriptCompressor(in, new YuiCompressorErrorReporter());

您实际上可以获取原始 JavaScript 并将其转换为 Stream,例如如何在 Java 中将字符串转换为输入流?

完整的集成示例如下:

http://blog.teamextension.com/yui-compressor-in-java-246

计划b)

请注意,您可以简单地将生成的 javascript 保存到文件系统中,然后从 Java 调用命令行 Yui。然后从文件系统中读取缩小的文件,就是这样,你就有了一个缩小的 JS。


0
投票

您可以尝试JShaman JavaScript Obfuscator,它是一个很好的JavaScript混淆工具。它有一个Web API接口可以调用。您可以在 Java 中调用和混淆 JavaScript 代码。

© www.soinside.com 2019 - 2024. All rights reserved.