闭包编译器。基于JSF的页面中的单/双引号优化

时间:2014-01-09 20:35:28

标签: javascript jsf compression google-closure-compiler yui-compressor

我尝试使用xhtmlhtmlcompressor编译器 - GCC - 谷歌闭包编译器)缩小javascript个页面。

GCC优化字符串中的引用。如果在字符串中我们使用单引号字符,那么GCC将以双引号字符结束字符串,反之亦然。如果我们在构建项目时完成了javascript代码,但未使用JSF,则可以使用此功能。

例如,当我们有JSF代码页

时,无法解决问题
....
<script type="text/javascript">
    var message = "#{my.localized.bundle}"
</script>
....

#{my.localized.bundle}locali'zed message

如果我尝试在“飞行”上压缩此示例 NOT ,但在构建项目时间,那么在客户端javascript上代码将被破坏。

生成的javascript代码(使用GCC引用优化和渲染响应JSF阶段后)将:

....
<script type="text/javascript">
    var message = 'locali'zed message'
</script>
....

问题:

  • GCC有选项(标志),允许禁用这样的无用,对我来说,优化?
  • 我可以使用哪种压缩器来缩小基于JSF的页面? (YUI编译器除外,它也进行了引号优化)

1 个答案:

答案 0 :(得分:1)

您希望转义代码以便在字符串中使用。您可以使用输出包装器命令行选项指定如下:

--output_wrapper="%output|jsstring%"

在这里,您实际上不会添加任何包装文本,而只是利用指定您希望输出转义以便在字符串中使用以进行嵌入的功能。