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.
Nuxt (recommended)
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.