起初,标题让我想到 Git 冲突,但这不是本文讨论的内容。 它是关于组件选择器的命名空间。 最终,他们决定使用 Webpack 加载程序(似乎不是开源的)来为每个类添加一个散列字符串作为前缀,代表版本号。 我想这必须在 HTML 和 CSS 中都发生,以便它们匹配。 许多人以这样或那样的方式最终采用样式作用域来解决他们的问题。
这让我想到另一个范围较小的问题。 假设您有一个标题的备用版本,您要将其发送给 5% 的用户。 它具有不同的 HTML 和 CSS。 从服务器向用户发送不同的 HTML 非常容易。 但是 CSS 往往会被捆绑在一起,为少量 CSS 代码创建完全不同的 CSS 捆绑包似乎有点不切实际。 一种解决方案:为新的标题添加一个额外的属性,并将新的 CSS 与人为提升的特殊性一起发送,以避免所有旧的 CSS。 然后,当您上线时,从两者中删除新属性。
.header[new] {
}