BootstrapVueNext

0.44.5 · active · verified Sun Apr 19

BootstrapVueNext is a comprehensive UI component library that seamlessly integrates Vue 3, Bootstrap 5, and TypeScript, offering a robust foundation for modern, type-safe web application development. It provides a rich and accessible set of pre-built components that mirror Bootstrap's styling and functionality, while leveraging Vue 3's composition API and reactivity system. The library is under active development, with its current stable version being 0.44.5 (as of April 2026), and exhibits a rapid release cadence, often seeing multiple updates within a month. Key differentiators include its full TypeScript support, commitment to accessibility (a11y), built-in server-side rendering (SSR) compatibility, and dedicated Nuxt 3 integration, making it a powerful choice for full-stack Vue ecosystems. It serves as a modern successor to older BootstrapVue iterations, aligning with the latest advancements in Vue and Bootstrap.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates setting up a basic Vue 3 application with BootstrapVueNext, including global plugin registration, importing individual components like BButton and BModal, and ensuring the necessary Bootstrap 5 and BootstrapVueNext CSS is loaded. It provides a simple interactive modal example.

import { createApp } from 'vue';
import BootstrapVueNext from 'bootstrap-vue-next';
import { BButton, BModal } from 'bootstrap-vue-next';
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap-vue-next/dist/bootstrap-vue-next.css';

const app = createApp({
  template: `
    <div class="container mt-5">
      <h1>Welcome to BootstrapVueNext!</h1>
      <BButton variant="primary" @click="showModal = true">Open Modal</BButton>

      <BModal v-model="showModal" title="Example Modal" ok-only>
        <p>This is a modal powered by BootstrapVueNext.</p>
        <p>It integrates Bootstrap 5 styling and Vue 3 reactivity.</p>
      </BModal>
    </div>
  `,
  data() {
    return {
      showModal: false
    };
  },
  components: {
    BButton,
    BModal
  }
});

app.use(BootstrapVueNext);
app.mount('#app');

view raw JSON →