【问题标题】:ES6 syntax giving error in minification IN AEM 6.0ES6 语法在 AEM 6.0 中的缩小错误
【发布时间】:2018-08-30 07:15:40
【问题描述】:

我使用了一些第三方 ES6 库。当我们缩小客户端库时,大量错误即将到来。我该怎么办

【问题讨论】:

  • 你最终为 6.0 和 ES6 做了什么解决方法
  • 因为这是一个供应商库,他们必须提供一个 ES5 版本。否则,您可以自己使用 Babel 或其他转译器对其进行转译。使用 GCC 也是 SubSul 提到的一种选择。
  • 我会在 AEM 之外进行所有缩小,并在您的客户端库上禁用 min,将这些属性添加到您的客户端库的 .content.xml 文件中。 jsProcessor="[default:none,min:none]" cssProcessor="[default:none,min:none]" 示例:github.com/aem-design/aemdesign-aem-support/blob/…

标签: aem


【解决方案1】:

AEM 6.0 - YUI 缩小引擎 - 不支持 ES6。您将不得不使用较低版本的 javascript。查看可能在 6.0 中启用此功能的服务包。或者,如果您的项目设置使用 webpack / npm 等,那么像 babel 这样的转译器就可以解决问题。


AEM 6.2 以后

您可以选择将配置管理器中的缩小引擎设置为 GCC - Google closure compiler,它支持 ES6 语法 - 换句话说,转译 ES6+。

来自AEM docs

YUI 被设置为 AEM 中的默认缩小器。要将其更改为 GCC, 请按照以下步骤操作。

转到 Apache Felix 配置管理器,网址为 http://localhost:4502/system/console/configMgr

查找和编辑 Adob​​e Granite HTML 库管理器。

启用缩小选项(如果尚未启用)。

将值 JS Processor Default Configs 设置为 min:gcc。

如果用分号分隔,则可以传递选项,例如 min:gcc;obfuscate=true.

点击保存以保存更改。

您可以选择为每个客户端库或系统范围配置预处理器:

对于系统范围的配置,将此配置添加为 HTML 库管理器 OSGi 运行模式配置,这样构建过程会负责在所有其他环境(开发、阶段、测试...)中更新此属性,使您免于在任何地方手动编辑此属性。

PID:com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl

对于 clientlib 特定配置,在 clientlib 节点上添加 cssProcessorjsProcessor 属性 例如:jsProcessor="[min:gcc;obfuscate=true;languageIn=ECMASCRIPT6;languageOut=ECMASCRIPT3]

有关不同的可用配置选项,请参阅Google Closure Compiler docs

【讨论】:

  • 供将来参考:今天是languageIn=ECMASCRIPT_2015,以防 ECMASCRIPT6 不起作用。
【解决方案2】:

有一个缩小的 js 库文件被其他一些缩小引擎缩小。 AEM 6.0 不支持该缩小文件。所以我把那个文件的未压缩版本放到了clientlib中,它就开始工作了。

【讨论】:

  • 很高兴知道,为了社区的利益,您可能想接受一个答案,只是可能会帮助其他遇到类似问题的人。
【解决方案3】:

在 AEM 6.5.8 中,将 HTML 库管理器:js 默认处理器更改为 min:gcc。对于客户端库文件夹,添加:jsProcessor=[min:gcc;obfuscate=true;languageIn=ECMASCRIPT_2019;languageOut=ECMASCRIPT3]。然后工作。

【讨论】:

    【解决方案4】:

    需要明确的是,此配置不会发生压缩和转编译,只是 AEM 表单规则编辑器可以通过箭头功能的验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 2018-04-03
      • 2016-07-28
      • 2017-08-31
      • 2023-04-05
      • 2016-03-14
      • 1970-01-01
      相关资源
      最近更新 更多