repo. Y, por supuesto, te proporciona la CLI de NPM, que es una de las mejores CLIs amigables para desarrolladores que tenemos en el ecosistema de Node. Y esto mejora, una vez más, cómo gestionas tus monorepos porque ahora tienes una sola CLI que puede funcionar en múltiples tableros en tu monorepo. También tienes acceso a la instalación automática y, de nuevo, a paquetes interdependientes dentro de tu repo. Y creo que simplemente agregaré un enlace aquí para aquellos que quieran verificar los Espacios de Trabajo de NPM. Pero esto ha sido un buen intento. Veo esto mucho en, nuevamente, proyectos de código abierto.
Lo siguiente en lo que queremos centrarnos son las mejores prácticas para organizar el código en el monorepo. Ahora, agregué modelos detallados. Y este es un consejo de que debes descomponer tu base de código en modelos pequeños y razonables que realicen una sola función o característica. Por ejemplo, aquí tengo en esta imagen de código o bloque de código, un registro que básicamente registra información y errores, ¿verdad? Y luego puedes importarlo en todas las aplicaciones múltiples en tu monorepo. También tengo aquí un validador, que nuevamente, es una expresión regular para tu correo electrónico o tu número de teléfono. Y nuevamente, esto se puede usar en todos los archivos múltiples o los paquetes múltiples o modelos o proyectos que tienes en tu monorepo. Y esa es la excelencia de organizar el código en un monorepo de Node.js. También agregué aquí una estructura de directorios, que te permite crear una estructura de directorios consistente, ¿verdad? Que básicamente refleja cómo es tu aplicación y la relación entre tus paquetes o tus aplicaciones o proyectos. Aquí en el código, tenemos una carpeta de paquetes y en esa carpeta en particular, tenemos autenticación, que tiene una fuente y un package.json. Y luego, en esa carpeta nuevamente, tenemos la gestión de usuarios, que maneja todas las características de gestión de usuarios en este proyecto en particular. También tenemos el servicio de imágenes, que maneja todo el servicio de imágenes de los usuarios en este proyecto en particular o monorepo. Y esta es una excelente manera de organizar tus directorios, ¿verdad? Porque con esto, puedes vincular los diferentes package.json o incluso diferentes aplicaciones entre sí. Por ejemplo, puedo usar la autenticación para trabajar con la gestión de usuarios. Puedo usar la autenticación para trabajar con el servicio de imágenes. Agregué aquí utilidades y bibliotecas compartidas. Y ahora, esto es en colaboración con nuestro primer punto, ¿verdad? Que es una biblioteca o enfoque modular y detallado. Y ahora, con esto, básicamente puedes crear paquetes de tamaño pequeño que se pueden importar y usar en diferentes paquetes, protocolos o incluso proyectos. Ahora, lo siguiente en nuestra diapositiva son las estrategias de escalabilidad para aplicaciones de Node.js, ¿verdad? Básicamente, ¿cuáles son las estrategias que vas a utilizar para implementar un repo de Node.js y asegurarte de que la aplicación también sea escalable, mejore su rendimiento como debería y sea sostenible? Y la primera es la duplicación de dependencias. Ahora, tenemos paquetes y herramientas como npm-dedu o la Duplicación Automática de Yarn, que nuevamente te ayudan a reducir el tamaño de tus modelos de Node al redimensionar y aplanar tus dependencias. Y ahora, lo que esto hace es que te ayuda básicamente a acelerar tu tiempo de instalación y reducir el uso de tu disco. Porque lo que hace Node.js es que toma cuatro paquetes duplicados y los elimina, permitiéndote usar solo un paquete único cuando sea necesario, ¿verdad? Y esto puede reducir seriamente el tamaño de tus modelos de Node. Lo siguiente que agregué aquí es la instalación selectiva de dependencias. Básicamente, cuando usas Espacios de Trabajo de Yarn o Espacios de Trabajo de npm, puedes instalar solo una dependencia a nivel de raíz, ¿verdad? En lugar de duplicarlas en múltiples paquetes, como por ejemplo, si quieres usar bcrypt o cualquier otro paquete, ¿verdad? Básicamente, puedes tener uno de estos dos en tu paquete de Espacios de Trabajo de Yarn o npm en tu nivel raíz, y luego usarlo en todos los diferentes paquetes, modelos y proyectos en este
Comments