使用Java缩小和混淆JavaScript代码

时间:2012-12-22 13:13:44

标签: java javascript minify yui-compressor

我使用YUI Compressor多年来缩小和混淆JS文件。但现在我需要在服务器上混淆和缩小动态生成的JavaScript代码。所以这里的主要区别在于不存在应该被混淆的JS文件,而是对服务器(Java)的请求应该生成部分JS代码并返回它们已经缩小和混淆。

YUI Compressor没有提供这样做的可能性。我在消息来源中观察并且已经找出应该覆盖哪些方法以使其工作。我不想这样做(但如果没有别的办法则必须这样做。)

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

1 个答案:

答案 0 :(得分:0)

计划a)

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

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

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

您实际上可以获取原始JavaScript并将其转换为Stream,例如How do I convert a String to an InputStream in Java?

此处有一个完整的集成示例:

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

计划b)

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