Ich versuche, CSS-Module zu meinem Projekt zu implementieren, das React und Webpack verwendet. Aber ich möchte weiterhin alle globalen CSS verwenden, die ich erstellt habe.Wie können CSS-Module Dateien standardmäßig global importieren?
Zum Beispiel zuvor importierte ich css in Reaktion wie diese
import './styles.scss'
Und dann wird es ein HTML-Element sein, um die Klasse .button
verwendet, die ./styles.scss
<button className='button'>Click me</button>
Jetzt innen existiert seit ich will Um CSS-Module zu implementieren, habe ich die css-loader
Konfiguration in Webpack wie folgt geändert
module: {
rules: [{
test: /\.s?css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
// This is where I added the config for css modules
modules: true,
localIdentName: '[hash:base32:5]-[name]-[local]',
importLoaders: 2,
}
},
{
loader: 'postcss-loader',
options: {
config: {
path: './postcss.config.js',
},
},
},
'sass-loader',
]
}]
}
aber jetzt kann ich nicht die button
Klassennamen verwenden, wenn ich wie dieses
import './styles.scss'
importieren Da die Klassennamen in ./styles.scss
basieren alle Hash-Klassennamen wie 32osj-home-button
Grundsätzlich konvertiert, wie konfiguriere ich das CSS-loader CSS-Regel zu laden, wenn ich auf diese Weise importieren
import './styles.scss'
Aber CSS-Module verwenden, wenn ich auf diese Weise importieren?
import styles from './styles.scss'
ODER
Gibt es eine Konfiguration zur Verfügung CSS-Module zu setzen alle CSS in :global
standardmäßig zu laden, und nur CSS- in :local
, wenn ich es geben?
FYI, ich weiß, dass ich 2 loader configs machen kann CSS-Module für CSS-Datei mit dem Namen auf diese Weise
styles.modules.scss
und gelten normale CSS-loader für Standard namens CSS
styles.scss
Aber anzuwenden Ich ziehe es vor, dies nicht zu tun, da es nach dem Bündeln von Webpack mehr Dateien erzeugt.
Vielen Dank für Ihre Antwort, aber ich denke, das ist nicht genau das, was ich suche. CMIIW, aber grundsätzlich schließen Sie Dateien aus, die '.global' enthalten, um als css-Module geparst zu werden. Ich habe bereits viele CSS-Dateien und ich möchte die Namen und den Speicherort dieser Dateien beibehalten. Wenn ich es auf Ihre Weise mache, muss ich entweder den Dateinamen ändern oder sie in einen '.global'-Ordner verschieben, was ich nicht tun möchte. – Adriel