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

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

我尝试使用 htmlcompressor(javascript 编译器 - GCC - google 闭包编译器)缩小 xhtml 页面。

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

例如,当我们有带有代码的 JSF 页面时,无法解决该问题

....
<script type="text/javascript">
    var message = "#{my.localized.bundle}"
</script>
....

其中#{my.localized.bundle}本地化消息

如果我尝试在“运行”时而不是在构建项目时压缩此示例,那么客户端 javascript 代码将会被破坏。

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

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

问题:

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

最佳答案

您希望对代码进行转义以在字符串中使用。您可以通过使用输出包装器命令行选项来指定,如下所示:

--output_wrapper="%output|jsstring%"

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

关于javascript - 关闭编译器。基于 JSF 的页面中的单/双引号优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030570/

相关文章:

javascript - 使用 session 生成的 url 使用 puppeteer 获取 pdf 缓冲区

JavaScript 检查是否可以访问不同域上的 URL

ajax - JSF:执行多种形式的值

python - 使用gzip -d解压可以,但是在Python中使用zlib时出错

android - Mono for Android - ZIP 数据压缩

javascript - lodash.without 函数删除具有特定字段的对象

javascript - 脚本化 iFrame 在当前页面而不是 iFrame 内加载内容

jsf - PrimeFaces 主题未正确应用于标准 JSF 控件

java - JSF 国际化 f :loadbundle or through faces-config: Performance point

python - 在 Python 中以最佳比例进行压缩?