Instalación de NgBootstrap

Intermedio
Angular
Angular
Actualizado: 24/09/2025

Integración con NgBootstrap

NgBootstrap es una biblioteca de componentes UI que adapta Bootstrap 5 para Angular, proporcionando componentes nativos de Angular sin dependencias de jQuery. Esta integración permite utilizar todos los componentes de Bootstrap como directivas y componentes Angular modernos.

Instalación básica

Para integrar NgBootstrap en un proyecto Angular, necesitamos instalar tanto la librería como Bootstrap:

npm install @ng-bootstrap/ng-bootstrap bootstrap

La instalación incluye dos paquetes esenciales: NgBootstrap que proporciona los componentes Angular y Bootstrap que aporta los estilos CSS base.

Configuración de estilos

Después de la instalación, debemos importar los estilos de Bootstrap en el archivo src/styles.css del proyecto:

@import '~bootstrap/dist/css/bootstrap.min.css';

Esta importación proporciona todas las clases CSS de Bootstrap necesarias para que los componentes de NgBootstrap funcionen correctamente con su apariencia visual característica.

Importación en componentes standalone

En Angular 20, al trabajar con componentes standalone, cada componente debe importar directamente los módulos de NgBootstrap que necesite. Por ejemplo, para usar modales:

import { Component } from '@angular/core';
import { NgbModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap';

@Component({
  selector: 'app-example',
  standalone: true,
  imports: [NgbModalModule],
  template: `
    <button class="btn btn-primary" (click)="openModal()">
      Abrir Modal
    </button>
  `
})
export class ExampleComponent {
  constructor(private modalService: NgbModal) {}
  
  openModal() {
    // Lógica del modal
  }
}

Importaciones por funcionalidad

NgBootstrap organiza sus componentes en módulos específicos que se importan según necesidad:

  • NgbAccordionModule - Para acordeones expandibles
  • NgbModalModule - Para ventanas modales
  • NgbDropdownModule - Para menús desplegables
  • NgbTooltipModule - Para tooltips informativos
  • NgbCarouselModule - Para carruseles de imágenes
  • NgbDatepickerModule - Para selectores de fecha

Ejemplo de integración completa

Un ejemplo práctico mostrando la integración de múltiples componentes:

import { Component } from '@angular/core';
import { 
  NgbAccordionModule,
  NgbDropdownModule,
  NgbTooltipModule 
} from '@ng-bootstrap/ng-bootstrap';

@Component({
  selector: 'app-dashboard',
  standalone: true,
  imports: [
    NgbAccordionModule,
    NgbDropdownModule, 
    NgbTooltipModule
  ],
  template: `
    <div class="container mt-4">
      <button 
        class="btn btn-info mb-3" 
        ngbTooltip="Información adicional">
        Botón con Tooltip
      </button>
      
      <div class="dropdown mb-3" ngbDropdown>
        <button class="btn btn-outline-primary" 
                ngbDropdownToggle>
          Menú Opciones
        </button>
        <div class="dropdown-menu" ngbDropdownMenu>
          <button class="dropdown-item">Opción 1</button>
          <button class="dropdown-item">Opción 2</button>
        </div>
      </div>
      
      <ngb-accordion>
        <ngb-panel>
          <ng-template ngbPanelContent>
            <p>Contenido del acordeón integrado con Bootstrap.</p>
          </ng-template>
        </ngb-panel>
      </ngb-accordion>
    </div>
  `
})
export class DashboardComponent {}

Ventajas de la integración

La integración con NgBootstrap ofrece beneficios específicos para proyectos Angular:

  • Compatibilidad nativa - Los componentes están diseñados específicamente para Angular
  • Tree-shaking optimizado - Solo se incluye el código de componentes utilizados
  • TypeScript completo - Tipado estricto en todas las APIs
  • Sin dependencias externas - No requiere jQuery ni JavaScript de Bootstrap
  • Compatibilidad con Signals - Funciona perfectamente con las nuevas primitivas reactivas de Angular

La integración resulta directa y eficiente, permitiendo aprovechar el ecosistema Bootstrap manteniendo las mejores prácticas de Angular moderno.

Fuentes y referencias

Documentación oficial y recursos externos para profundizar en Angular

Documentación oficial de Angular
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Angular es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de Angular

Explora más contenido relacionado con Angular y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección

  • Comprender qué es NgBootstrap y su propósito en Angular.
  • Aprender a instalar NgBootstrap y Bootstrap en un proyecto Angular.
  • Configurar correctamente los estilos CSS de Bootstrap.
  • Importar módulos específicos de NgBootstrap en componentes standalone.
  • Conocer las ventajas de usar NgBootstrap en aplicaciones Angular modernas.