Según un tweet de Dan Abramov, el soporte de módulos CSS está ahí en create-react-app (CRA). Uno solo necesita dar la extensión de module.css a sus hojas de estilo para habilitar la función, pero esto no funciona conmigo. Tengo la versión 1.1.4 de react-scripts . ¿Cómo puedo habilitar módulos css con CRA? Gracias
No es necesario expulsar.
La aplicación Create React es compatible con los módulos CSS desde el primer momento a partir de la versión 2.
Actualice a la última versión ( react-scripts@latest ) .
Si usas hilo:
yarn upgrade react-scripts@latestSi usa npm:
npm install --save react-scripts@latest Luego solo tienes que crear un archivo con la extensión .module.css
Por ejemplo:
.myStyle { color: #fff }Entonces puedes usarlo así:
import React from 'react' import styles from './mycssmodule.module.css' export default () => <div className={styles.myStyle}>We are styled!</div>Para habilitar el módulo CSS en su aplicación, no necesita expulsar create-react-app. Puede seguir estos sencillos pasos descritos en este enlace para utilizar el módulo CSS en su proyecto.
Pero en caso de que haya expulsado su aplicación create-react, entonces debe encontrar el archivo llamado
"webpack.config.js"
abra este archivo y encuentre este {test:cssRegex....etc} en la línea no. 391 y reemplace a estos cambios:
{ test: cssRegex, exclude: cssModuleRegex, use: getStyleLoaders({ importLoaders: 1, modules: true, localIdentName: '[name]__[local]__[hash:base64:5]' }), },Abra el archivo .js e importe una declaración como esta
import cssStyleClassName from './MyApp.css';Luego, esta declaración de importación le permite realizar los siguientes cambios en las etiquetas de componentes como este
<div className={cssStyleClassName.styleName}></div>styleName es lo que definió en su archivo MyAppStyle.css
.styleName{ your properties here... }Después de expulsar su aplicación, debe reiniciar su servidor local, a veces los cambios no se reflejan.
Nota En la versión anterior, había dos archivos generados para producción y desarrollo por separado. Ahora, en la versión actual, hay un archivo llamado "webpack.config.js" para el que debe preocuparse por los cambios. Gracias.
estoy usando la versión 3.4.1 de los react-scripts así que aquí está mi enfoque
npm run eject 2. Luego obtendrá un archivo de configuración, en ese abra webpack.config.jstest: cssRegex o simplemente busque cssRegex test: cssRegex, exclude: cssModuleRegex, use: getStyleLoaders({ importLoaders: 1, sourceMap: isEnvProduction && shouldUseSourceMap, }), ahora, después importLoaders:1, agregue modules:true, y simplemente save el archivo. 5. Ahora puede reiniciar el servidor usando npm start y verá sus estilos aplicados. (si ya los sabes cómo usarlos)
aquí cuando usé [name]__[local]__[hash:base64:5] porque recibí un error que
- options has an unknown property 'localIdentName'. These properties are valid: object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? } así que lo eliminé y solo usé modules:true y funcionó para mí.