Tengo la siguiente estructura de proyecto:
/app /components /TextInputs SearchInput.js TextInput.js /Buttons Button.js CircleButton.js /screens ... /utils ... /services ... /theme theme.jsHe visto personas que usan archivos index.js para importar/exportar cosas, con el fin de limpiar todas las importaciones de la aplicación.
¿Es este el propósito principal de index.js? ¿Es una buena práctica tener un index.js por directorio?
Si necesita importar varios archivos de una carpeta como:
import {SearchInput} from './components/TextInputs/SearchInput' import {TextInput} from './components/TextInputs/TextInput'Recomendaría crear un archivo de índice. Esto reduce la cantidad de instrucciones de importación que utilizará en otros componentes:
/app /components /TextInputs SearchInput.js TextInput.js index.jscon el contenido: (/TextInputs/index.js)
import {SearchInput} from './SearchInput' import {TextInput} from './TextInput' export {SearchInput, TextInput}y utilícelo en los otros componentes como:
import {TextInput, SearchInput} from './components/TextInputs' Esta es la razón por la que index.js se usa principalmente y hace que las importaciones sean más manejables y legibles en algunos casos. ¡Completamente hasta el desarrollador!
Es probable que sea más una preferencia personal que no, pero creo que los índices tienen 2 beneficios principales.
// ./src/example/index.js import Example from './src/example' ... // ./theme/index.scss import './theme'Que importará automáticamente el archivo index.
Esto también ayuda mucho cuando usa algo como módulos css o estilos por componente donde se almacena en el mismo directorio, de modo que aún puede importar el componente normal sin tener que hacer algo como import Header from './Header/header.js' .
Sin embargo, hay una advertencia, si bien tiene algunos beneficios, también puede ser difícil de depurar a veces cuando tiene 20 archivos llamados índice, cuando uno de ellos se rompe y el depurador solo le dice que está en un archivo llamado "index.js" sin siendo más específico sobre qué archivo o qué directorio.