【发布时间】:2011-08-15 23:17:24
【问题描述】:
我正在尝试构建(或找到一个我可以使用的现有过滤器)一个将在运行时压缩 JavaScript 文件的网络过滤器。我尝试过基于 YUICompressor 构建一个,但是当我尝试将基于字符串的源而不是实际文件传递给它时,我得到了奇怪的错误。
现在我预计会收到诸如“实时压缩/缩小是一个坏主意”之类的响应轰炸,但我不想在构建时这样做是有原因的。
我有一个 JavaScript Web 应用程序,它可以延迟加载它是 JavaScript。它只会加载它实际需要的东西。 JavaScript 文件可以指定依赖项,我已经有一个过滤器,它将连接请求的文件和任何尚未加载到单个响应中的依赖项。这意味着将发送给用户的 JavaScript 中有大量不同的组合,这使得尝试在构建时构建所有包变得不切实际。
所以重申一下。理想情况下,我正在寻找一个现有的实时 javascript 过滤器,我可以将其插入我的应用程序中。
如果不存在,我正在寻找可以用作构建块的提示。 YUICompressor 并没有完全让我到达那里,而且 GoogleClosure 似乎只是一个 Web API。
干杯, 彼得
【问题讨论】:
-
原来 yui 的 2.4.2 版本有一些问题。退回到 2.3.6 并立即开始工作......
-
为什么不先压缩每个js,然后在运行时拼接你需要的?
-
所以肯定可以做到,可以使用YUICompressor。 Demian 和 WaiLim 正确地指出,在我连接之前进行缩小可以完成这项工作。我只是没有正确的头脑去想它。我将在构建时进行压缩。
-
仅供参考 -- Closure 也有一个 Java API。实际上它是用 Java 编写的。
-
试试 wro4j:alexo.github.com/wro4j。这可以帮助您从数十种压缩器中进行选择,并简化资源的管理方式。
标签: java javascript filter compression minify