Librerías NX
💡Nx es un conjunto de herramientas que nos permiten construir aplicaciones full-stack de una manera más sencilla por medio de mono repositorios, reforzando además las buenas prácticas de programación. Podemos generar aplicaciones y librerías full-stack con NestJS y React por medio de la ejecución de algunos sencillos comandos.
Cómo crear una librería NestJs desde cero con NX
Título de la Receta
Crear una Librería NestJS desde Cero con NX
Resumen
En esta receta, aprenderás cómo crear una librería NestJS utilizando Nx en un entorno de monorepositorio. Nx proporciona herramientas que facilitan la construcción y gestión de aplicaciones full-stack, fomentando las mejores prácticas de programación. Al finalizar esta receta, tendrás una librería lista para comenzar a escribir código y publicarla en un registro como npm o GitHub.
Descripción
Nx es una herramienta poderosa para gestionar monorepositorios, permitiendo construir y mantener aplicaciones full-stack de manera eficiente. Esta receta te guiará a través del proceso de creación de una librería NestJS desde cero utilizando Nx, asegurando que sigas las mejores prácticas de programación y configuración.
Prerrequisitos
Node.js instalado
pnpm instalado
npx disponible en tu entorno
Conocimientos básicos de NestJS y Nx
Casos de Uso
Crear una librería compartida para proyectos NestJS en un monorepositorio.
Modularizar código común entre diferentes servicios NestJS.
Publicar una librería NestJS en un registro para ser utilizada en otros proyectos.
Instrucciones Paso a Paso
1. Crear el directorio donde vamos a almacenar nuestras librerías
mkdir -p nx-libs
cd nx-libs
2. Crear el workspace de la librería (integrada monorepo)
npx create-nx-workspace@latest --preset "ts" --name "my-nest-lib" --pm "pnpm" --nxCloud "skip" --docker false --workspaceType "integrated" --verbose
3. Acceder al workspace
cd my-nest-lib
4. Crear librería individual, ej: core
pnpm exec nx generate @nx/js:library --name=my-nest-lib --directory=core --importPath=@inlaze_techlead/my-nest-lib --publishable=true --projectNameAndRootFormat=as-provided --no-interactive
Validación
Verifica que la estructura del proyecto se haya creado correctamente en el directorio
libs/core/my-nest-lib
.Asegúrate de que los archivos de configuración, como
tsconfig.json
yproject.json
, estén presentes y correctamente configurados.Ejecuta los comandos de build y lint para confirmar que la configuración inicial es válida:
pnpm exec nx build my-nest-lib pnpm exec nx lint my-nest-lib
Solución de Problemas
Error en la creación del workspace: Asegúrate de tener la última versión de npx y pnpm instalados.
Problemas con permisos: Si encuentras problemas de permisos al ejecutar comandos, intenta correr los comandos con privilegios elevados (sudo).
Errores en el build: Revisa la configuración de
tsconfig.json
y asegúrate de que todas las dependencias necesarias estén instaladas.
Preguntas Frecuentes
¿Puedo usar npm o yarn en lugar de pnpm?
Sí, Nx soporta npm y yarn, pero en esta receta usamos pnpm por su eficiencia en la gestión de dependencias.
¿Qué es un monorepositorio integrado?
Un monorepositorio integrado es una estructura de proyecto donde múltiples aplicaciones y librerías coexisten en un mismo repositorio, compartiendo configuración y dependencias.
Recursos Adicionales
Conclusión
Has aprendido a crear una librería NestJS desde cero utilizando Nx en un entorno de monorepositorio. Esta configuración te permite gestionar eficientemente tu código y fomentar las mejores prácticas de programación, facilitando la escalabilidad y el mantenimiento de tus aplicaciones full-stack. Ahora puedes comenzar a escribir código en tu nueva librería y publicarla en un registro como npm o GitHub para su reutilización en otros proyectos.
Historial de Revisión
1.0
2024-07-08
Documento Inicial
Inyer Marin
Last updated