Installation

Install the component library or the Nuxt module.

AdminLTE Vue is one library — the components, composables, and rendered markup are identical whether you use plain Vue or Nuxt. The only thing that differs is setup: the Nuxt module wires everything for you, while plain Vue/Vite needs a few lines. Pick the entry point that matches your app.

pnpm add adminlte-vue @adminlte/nuxt bootstrap @popperjs/core
export default defineNuxtConfig({
  modules: ['@adminlte/nuxt'],
  adminlte: {
    defaults: { sidebarTheme: 'dark', initialColorMode: 'auto' },
  },
})

The module auto-registers every Lte* component and auto-imports the composables, so you can use them in any page without imports:

<template>
  <LteDashboardLayout :menu-items="menu" brand-text="Acme">
    <LteAppContent title="Dashboard">…</LteAppContent>
  </LteDashboardLayout>
</template>

Plain Vue 3 / Vite

pnpm add adminlte-vue bootstrap
import { createApp } from 'vue'
import AdminLte from 'adminlte-vue'
import 'adminlte-vue/css'
import App from './App.vue'

createApp(App).use(AdminLte).mount('#app')

You own the wiring: pass currentPath for active-link detection and linkComponent for your router. See Routing & links.

Peer dependencies

bootstrap is a peer dependency (the components are class-only and rely on AdminLTE's prebuilt CSS). The heavy plugin wrappers (LteApexChart, LteCalendar, LteDatatable, …) declare their underlying libraries as optional peer dependencies — install only the ones you use. See Plugin components.