0

我们有一个现有的 AEM 应用程序,其中有 100 个页面。在大多数页面上,不同的 css 文件是通过单独的网络调用加载的。我们需要对此进行优化。我在想的是,如果我们可以: 1. 将页面上的 css 文件列表作为页面属性创作。2. 在我们的代码中,该页面属性被读取,所有作为属性值提及的 css 文件被组合并呈现在页面上。类似于在 css.txt 文件或嵌入属性中所做的事情。请建议。

4

2 回答 2

1

它们是减少 AEM 中对 css 文件的网络调用的几种方法 1) 在模板级别添加 css 文件,以便一次性加载所有 css 文件。

2) 不要添加客户端库的类别,而是使用客户端库的 embed 属性。AEM 会将 embed 属性中提供的所有客户端库组合到一个客户端库中,并且它们将是唯一的网络调用。但是合并后css文件的大小可能会增加,并且会影响第一次页面加载时间。

但是,如果您的要求是编写 css 文件,那么我建议您在对话框中有一个下拉类型的属性,其中显示所有 css 文件,并且作者可以根据需要选择 css。选择后,您可以通过通读将这些 css 应用到 html。

于 2020-02-21T07:36:37.883 回答
0

因此,您似乎不想或不能使用作为 ootb AEM 功能的 clientlib 功能。

无论您选择哪种解决方案——可能是一个前端 JavaScript 片段,可以决定需要哪些 CSS 文件,或者构建 CSS 的一些逻辑在渲染时根据页面中使用的组件包含在内,或者完全不同的东西——我强烈建议不要把要使用的CSS文件归于编辑的责任

如果他们需要设置一些额外的样式,请使用 Adob​​e 样式系统。但是不要滥用 CSS 文件配置的页面属性。

我的意思是“数百页”听起来像是一个相当小的网站,但当第一批人开始抱怨颜色或字体大小错误时,它可能仍会大大增加您的维护工作量......

于 2020-02-25T10:44:49.353 回答