2

我用 Svelte 编写了一个聊天机器人小部件,它应该能够集成到网站中。网站所有者获取编译后的 JS 和 CSS 文件。到目前为止,一切都很好。

但是每个网站所有者都必须有可能覆盖 CSS 文件中的样式。没问题,他可以例如简单地覆盖标题的背景颜色:

.chat-widget.svelte-kcmu8l header.svelte-kcmu8l {
    background-color: #fff;
}

但是:例如,假设我修复了一个错误并重新编译了小部件。让我们进一步假设我的更改导致哈希kcmu8l发生更改,并且网站所有者之前所做的调整不再起作用。

我怎样才能防止这种情况?是否可以省略svelte-xxx类或定义自己的哈希值?

4

1 回答 1

0

您必须在外部样式表中维护您不希望散列的 CSS 类。它们不能出现在 Svelte 组件中。

为了防止 Svelte 散列和修改您的 CSS 名称,您需要从内联 Svelte 组件中删除相关的 CSS 样式,然后在您的应用实例化页面上加载的任何外部 CSS 样式表中维护这些类。

不使用 Svelte 生成的类名是合法的需求,例如允许您的嵌入式应用程序覆盖其样式。

于 2020-10-20T20:38:40.737 回答