Entrada
Déjame empezar Teníamos una interfaz monolítica con una gran herencia. Los servicios vivían en los mismos archivos con los componentes. Todo estaba mezclado con el eslogan en la fachada: "Deje todo a mano, es más fácil encontrar lo que necesita". Y no importa que la longitud del archivo sea de más de 200, más de 300, más de 500 o incluso más líneas de código.
Propósito
Haga que todo sea más legible, más pequeño y más rápido.
Implementación
Separar todo lo que es posible en archivos y la bala de oro aquí es el principio de responsabilidad exclusiva. Si tenemos un componente y funciones puras dentro de un archivo, las separaremos.
Con la llegada de ES6 +, se hizo posible usar la importación ... desde la sintaxis; esta es una gran característica, porque también podemos usar la exportación ... desde .
Refactorización
Imagine un archivo con esta estructura:
Podemos dividir este código en archivos de esta manera:
Estructura:
utils multiply.js sum.js calculateSomethingSpecial.js
y archivos:
Ahora podemos importar las funciones individualmente. Pero con líneas adicionales y estos nombres largos en las importaciones, todavía se ve horrible.
Pero para esto tenemos una característica maravillosa que apareció con el advenimiento de la nueva sintaxis JS, que se llama reexportación (reexportación). En la carpeta, necesitamos hacer un archivo index.js para combinar todas nuestras funciones. Y ahora podemos reescribir nuestro código de esta manera:
Ligeramente podshamanim App.js:
Listo
Pruebas
Ahora veamos cómo compila nuestro Webpack compilación para producción. Creemos una pequeña aplicación React para probar cómo funciona. Verificaremos si descargamos solo lo que necesitamos, o todo lo que se indica en index.js desde la carpeta utils .
Aplicación:
Versión de producción de la aplicación:
Como puede ver arriba, solo cargamos la función sum de utils .
Revisemos nuevamente, y esta vez usaremos multiplicar .
Aplicación:
Versión de producción de la aplicación:
Aquí ni siquiera vemos las funciones dentro del código, porque Webpack compiló nuestro valor incluso antes de la implementación.
Prueba final
Entonces, ejecutemos nuestra prueba final y usemos todas las funciones a la vez para ver si todo funciona.
Aplicación:
Versión de producción de la aplicación:
Genial Todo funciona como se esperaba. Puede intentar cualquier paso simplemente usando el enlace a codesandbox , y siempre puede implementar directamente para netlify desde allí.
Conclusión
Use la separación del código en partes más pequeñas, intente deshacerse de archivos, funciones y componentes demasiado complejos. Ayudará tanto al futuro usted como a su equipo. Los archivos más pequeños son más rápidos de leer, más fáciles de entender, más fáciles de mantener, más rápidos de compilar, más fáciles de almacenar en caché, más rápidos de descargar, etc.
Gracias por leer! ¡Código limpio y refactorización deliciosa!