Resolviendo el infierno de las rutas de importación en Create React App: alias con CRACO o react-app-rewired
- Publicado el
- • 1 min de lectura•--- vistas
Es muy importante tener declaraciones de import consistentes en tus proyectos react, y evitar el infierno de las rutas relativas, ej. ../../../utils/smth.ts se ve mucho más feo que ~/utils/smth.ts.
Desafortunadamente, las últimas versiones de typescript soportan este truco cada vez peor (no sé por qué, la verdad).
Usando el paquete @craco/craco
Pasos para la instalación:
yarn add @craco/cracoCrea el archivo
craco.config.jsen la raíz del proyectoPon el texto de abajo en
craco.config.js:const path = require('path'); module.exports = { webpack: { alias: { '~': path.resolve(__dirname, 'src'), }, }, };Cambia los scripts de react en
package.jsona:"scripts": { "start": "craco start", "build": "craco build", "test": "craco test", "eject": "craco eject" }Inicia el proyecto y verifica que todo funcione:
yarn start
Usando react-app-rewired y customize-cra
Pasos para la instalación:
yarn add react-app-rewiredyarn add customize-craEn
config-overrides.jsagrega estas líneas:const { addWebpackAlias } = require('customize-cra'); const path = require('path'); //... in module.export of configuration section: addWebpackAlias({ '~': path.resolve(__dirname, './src'), // ... });Y no olvides agregar alias similares a
tsconfig.json:"paths": { "~/*": [ "./src/*" ], },
Disponible para colaboración por contrato
Estoy disponible para colaborar por contrato. Si tiene una idea de proyecto interesante, reserve una llamada por Calendly.
Agenda una llamada de 30 min