首页 > 解决方案 > 由闭包编译器编译的带有 \n 和空格的模板文字/字符串

问题描述

由 Closure Compiler 编译的我们的 js 库之一将一些 HTML 注入到 DOM 中。

我们使用模板文字/字符串来动态更改 HTML,并通过在我们的 js 文件中保留缩进的 HTML 来简化维护。

不幸的是,这意味着我们的缩小文件在与这些模板文字对应的字符串中包含很多无用的 '\n' 和空格(毫不奇怪,这是根据 ES6)

有没有办法在缩小文件中不包含所有无用的 \n 和空格?

源代码示例:

this.root.append(`
  <div>
    <a href="#">
      <span>${someText}</span>
    </a>
    <div class="dialog"></div>
  </div>`);

对应的编译代码如下:

...;this.h.append("\n  <div>\n    <a href="#">\n      <span>"+z+"</span>\n    </a>\n    <div class="dialog"></div>\n  </div>");...

标签: javascriptgoogle-closure-compiler

解决方案


我认为您会丢失一些配置,该配置告诉编译器不要包含空格和换行符。

我找到了以下配置,您可以在编译时尝试:

compilation_level: 'ADVANCED'


推荐阅读