如何在LWC系统中包括全局样式

问题描述

我正在使用Salesforce Lightning和Lightning Web组件(LWC)框架开发客户服务系统。包括全局样式表以在网站上创建/覆盖样式的最佳方法(如果有)是什么?可以实现基本主题之外的控制的东西,基本允许您更改几种颜色和徽标。

我最近得到的是:

  1. 通过Setup > Static Resources部分上传我的自定义样式表
  2. 创建一个新的特殊闪电Web组件,该组件在视觉上是隐藏的(例如,通过display:none),仅用于通过其javascript文件加载我的自定义样式表静态资源-做connectedCallback() { Promise.all([loadStyle(this,lwcStyleResource)...这种事情。
  3. li>

这似乎很好用,但有一点需要注意-我必须将此组件包含在我要应用样式的任何页面上。我希望这是全局的,因此适用于每个页面。因此,有什么办法可以在每个页面上包含此特殊组件吗?我几乎是Lightning系统的菜鸟,所以我不知道所有内容的结构,是否有可以修改的主页模板,等等。

解决方法

最简单的答案是将 LWC 根组件包装在 Aura 组件中,并使用 ltng:require 仅导入一次样式,这将自动将 css 级联到所有封闭的 LWC。