如何阻止AEM在发布服务器实例上包含author实例javascripts
publisher实例包含以下javascript文件:如何阻止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 最好排除它们,以
- /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。我不是在我的项目中使用它。