ES6语法在AEM 6.0中的缩小中给出错误

Dha*_*war 2 aem

我已经使用了一些第三方ES6库。当我们最小化客户端库时,将会出现大量错误。我该怎么办

Sub*_*Sul 7

AEM 6.0-YUI缩小引擎-不支持ES6。您必须使用较低版本的javascript。请检出可能在6.0中启用此功能的Service Pack。或者,如果您的项目设置使用webpack / npm等,那么像babel这样的编译器可以解决这个问题。


AEM 6.2以上

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

根据AEM文档

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

转到http:// localhost:4502 / system / console / configMgr上的Apache Felix Config Manager

查找和编辑Adobe Granite HTML库管理器。

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

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

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

单击保存以保存更改。

您可以选择在每个clientlib或系统范围内配置预处理器:

对于系统范围的配置,请将此配置添加为HTML Library Manager OSGi运行模式配置,这样,构建过程将负责在所有其他环境(开发,测试,测试...)中更新此属性,从而避免了在各处手动编辑此属性。

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

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

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

  • 供将来参考:今天是 `languageIn=ECMASCRIPT_2015`,以防 ECMASCRIPT6 不起作用。 (2认同)