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/*" ], },
Relacionado
Artículos
Create React App con múltiples puntos de entrada
Una guía práctica para personalizar Create React App con múltiples puntos de entrada, habilitando aplicaciones React multi-página con bundles y archivos HTML separados.
Cómo conecté componentes React a JS externo: la historia de un desarrollador
Como desarrollador, necesitaba disparar un modal de React desde un botón del Ribbon de SharePoint, conectando JS clásico con React moderno. Este post explica el desafío, la solución usando el objeto global window, y cómo hice accesible el estado de React desde fuera del bundle.
React.js i18n: guía de configuración y uso de la localización
Una guía práctica para configurar y usar i18n para localizar tus aplicaciones React.js, con ejemplos de código, consejos de configuración y buenas prácticas.
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