0Pricing
Angular Academy · Lección

Crear builds con ng-packagr

Generar la salida en Angular Package Format

Crear builds con ng-packagr es una lección gratuita de Angular Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Angular Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Angular Academy incluye 4 lecciones en total.

Las bibliotecas necesitan una compilación especial

No puede publicar TypeScript ni plantillas sin compilar; los consumidores esperan un resultado compilado y estandarizado. Las bibliotecas de Angular se compilan conforme al Angular Package Format (APF) mediante ng-packagr, la herramienta que la CLI utiliza internamente.

El Angular Package Format

APF es la estructura oficial para las bibliotecas de Angular distribuibles: módulos ES optimizados, definiciones de tipos y metadatos organizados para que cualquier aplicación de Angular pueda consumir la biblioteca y aplicar tree-shaking de forma fiable.

Compilar una biblioteca

Ejecute ng build indicando como destino el proyecto de la biblioteca. La CLI invoca ng-packagr y escribe el resultado empaquetado en dist/.

ng build ui-kit
# outputs dist/ui-kit in Angular Package Format

Qué produce ng-packagr

La carpeta dist contiene bundles FESM (módulo ES aplanado) compilados, archivos de tipos .d.ts y un package.json generado con los campos de entrada correctos para module y types.

dist/ui-kit/
  fesm2022/ui-kit.mjs   # flattened ES module
  index.d.ts            # type declarations
  package.json          # generated, points to the above

La configuración de ng-package.json

Cada biblioteca tiene un ng-package.json que indica a ng-packagr el destino de salida y el archivo de entrada. La CLI lo lee durante la compilación.

// projects/ui-kit/ng-package.json
{
  "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
  "dest": "../../dist/ui-kit",
  "lib": { "entryFile": "src/public-api.ts" }
}

Compilación de producción

Compile con la configuración de producción para activar la optimización completa. El resultado es lo que publicará, así que empaquete siempre la versión optimizada.

ng build ui-kit --configuration production

Compilación parcial

Las bibliotecas se compilan en modo Ivy partial, no completamente. Esto las hace compatibles entre distintas versiones de Angular; la aplicación consumidora finaliza la compilación (el enlazado) durante su propia compilación.

Dependencias peer en el resultado

ng-packagr mantiene Angular y otras dependencias peer como externas en lugar de incluirlas en el bundle. El package.json generado las enumera como peerDependencies, de modo que el consumidor proporciona una única copia compartida.

Recursos y estilos

Puede incluir estilos y recursos estáticos en el paquete. Declárelos en ng-package.json para que ng-packagr los copie y procese en el resultado de dist para los consumidores.

"assets": ["./styles/theme.css"]

Verificar la compilación

Después de compilar, inspeccione dist/ui-kit: confirme el bundle FESM, los archivos .d.ts y un package.json cuyos campos exports/module apunten a los archivos compilados. Esto es exactamente lo que recibirá npm.

Modo watch para desarrollo

Vuelva a compilar automáticamente mientras edita añadiendo --watch. Combinado con una aplicación de demostración, esto proporciona un ciclo de retroalimentación rápido durante el desarrollo de la biblioteca.

ng build ui-kit --watch

Comprobación rápida

¿A qué formato se compilan las bibliotecas de Angular?

Recapitulación

Compile las bibliotecas con ng build <lib>, que ejecuta ng-packagr para generar el Angular Package Format (bundles FESM, .d.ts y package.json generado) en dist/. Configure la salida mediante ng-package.json, compile en producción, aproveche la compilación parcial para mantener la compatibilidad entre versiones y mantenga las dependencias peer como externas.

Preguntas frecuentes

¿La lección «Crear builds con ng-packagr» es gratis?

Sí — el texto completo de «Crear builds con ng-packagr» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Angular Academy, actualiza a CoddyKit PRO. El curso de Angular Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Crear builds con ng-packagr»?

Generar la salida en Angular Package Format Practicas Angular Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Angular Academy?

No se requiere experiencia previa. Angular Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Crear builds con ng-packagr»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Angular Academy?

Sí. Cada lección de Angular Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Crear una biblioteca con ng generate
  2. API pública y entry points
  3. Crear builds con ng-packagr
  4. Publicar en npm
← Volver a Angular Academy