如何阻止AEM在发布服务器实例上包含author实例javascripts

如何阻止AEM在发布服务器实例上包含author实例javascripts,aem,Aem,publisher实例包含以下javascript文件: /etc/clientlibs/granite/jquery.min.js /etc/clientlibs/granite/utils.min.js /etc/clientlibs/granite/jquery/granite.min.js /etc/clientlibs/foundation/main.min.js /etc/clientlibs/granite/jquery/granite/csrf.min.js 最好排除它们,以

publisher实例包含以下javascript文件:

  • /etc/clientlibs/granite/jquery.min.js
  • /etc/clientlibs/granite/utils.min.js
  • /etc/clientlibs/granite/jquery/granite.min.js
  • /etc/clientlibs/foundation/main.min.js
  • /etc/clientlibs/granite/jquery/granite/csrf.min.js

最好排除它们,以提高性能,同时考虑到我正在使用jQuery 2.0作为AEM站点的一部分。

您看到的是与clientcontext相关的js

加载给定js的脚本如下(或类似)

要么你为了发布而完全排除它(wcmMode=disabled),这可能会破坏发布中与分析相关的内容,要么将include更改为覆盖你要开发的clientcontext组件

但是,如果您不使用任何本机Adobe集成,您只需将其排除在外就可以了。

这些脚本(不包括
csrf.min.js
)是类别
cq.foundation main
的一部分。您可以使用此实用程序检查此问题。

如果您通过扩展OOTB
wcm/foundation/components/page
(假设您使用得当)来创建页面模板组件,AEM将在head部分添加这些脚本。更具体地说,它们包含在OOTB页面组件下的
headlibs.html
文件中

为了克服这一问题,您可以在组件中重写此文件,并在下面的行中对此文件进行注释,或者仅在编辑wcmmode时才有条件地包含它。

对于基于JSP的组件(
foundation/components/page
),在
headlibs.JSP
中也会执行相同的操作


顺便说一下,您不想删除CSRF JS。这是AEM应对CSRF问题的解决方案。

这些不一定是特定于作者实例的脚本。如果不是,那么至少可以删除/etc/clientlibs/granite/jquery.min.js。我不是在我的项目中使用它。