Ich arbeite in einem Projekt, in dem wir React verwenden, wir schreiben unsere Styles mit SASS und lassen dann Webpack den Rest erledigen.SASS Variable Interpolation mit React CSS Modulen
Wir haben erst vor kurzem begonnen, CSS-Module zu verwenden (babel-plugin-react-css-modules
um genau zu sein) und der Übergang war glatt, abgesehen von einer Sache.
Vor den CSS-Modulen verwendeten wir die BEM-Namenskonvention. Es wäre oft passieren, dass wir so etwas tun würden, innerhalb einer .scss Datei der Komponente:
$block: '.box';
#{$block} {
//css rules
&#{$block}--modifier {
//other rules
}
}
Im Wesentlichen verwenden wir variable interpolation der SASS-Fähigkeit machen wurden, um weniger zu schreiben, in dem Fall, in dem das block
Ebene Element Klassenname war groß.
Das Problem ist, dass, soweit ich sagen kann variable Interpolation, für ein solches Szenario nicht mehr mit babel-plugin-react-css-modules
arbeitet.
Ich erhalte eine Fehlermeldung wie
ERROR in ./src/index.jsx
Module build failed: Error: E:/Mitch/Workspace/Projects/testbed/src/index.jsx: Could not resolve the styleName 'box'.
Ich verstehe, dass mit scoped CSS-Regeln, gibt es wirklich keine Notwendigkeit mehr so etwas wie .box__list
schreiben, da Sie einfach .list
schreiben kann, da es auf die Komponente scoped ist , aber nur aus Neugier, ist es möglich, SASS's variable Interpolation mit babel-plugin-react-css-modules
arbeiten zu lassen?
Ich benutze 'sass-loader' und' sass-node' bereits in meinem Build-Prozess, aber variable Interpolation funktioniert nicht. Wie auch immer, wie sich herausstellt, ist eine variable Interpolation überhaupt nicht notwendig, und diese Frage ist definitiv ein "Kann ich es machen" -Typ anstelle von "Sollte ich es tun". Danke, dass Sie sich die Zeit nehmen zu antworten. –