Zuerst dachte ich bei dem Titel an Git-Konflikte, aber darum geht es hier nicht. Es geht um Namespacing von Selektoren für Komponenten. Letztendlich entschieden sie sich für einen Webpack-Loader (nicht Open Source, soweit ich das beurteilen kann), um jede einzelne Klasse mit einem gehashten String zu versehen, der die Version repräsentiert. Ich nehme an, das muss sowohl im HTML als auch im CSS geschehen, damit sie übereinstimmen. Viele Leute landen auf die eine oder andere Weise bei Style-Scoping, um ihre Probleme zu lösen.
Das bringt mich zu einem anderen, kleineren Problem. Nehmen wir an, Sie haben eine alternative Version eines Headers, die Sie 5 % Ihrer Benutzer senden werden. Sie hat unterschiedliches HTML und CSS. Es ist einfach genug, vom Server aus unterschiedliches HTML an Benutzer zu senden. Aber CSS wird tendenziell gebündelt, und es scheint etwas unpraktisch zu sein, ein völlig neues CSS-Bundle für ein paar Zeilen CSS zu erstellen. Eine Lösung: Fügen Sie dem neuen Header ein zusätzliches Attribut hinzu und liefern Sie das neue CSS mit künstlich erhöhter Spezifität aus, um das gesamte alte CSS zu vermeiden. Wenn Sie dann live gehen, entfernen Sie das neue Attribut von beiden.
.header[new] {
}