Installation
Réseau
Ajouter à un projet Nuxt
Installer le package Nuxt UI
pnpm add @nuxt/ui tailwindcss
yarn add @nuxt/ui tailwindcss
npm install @nuxt/ui tailwindcss
bun add @nuxt/ui tailwindcss
Ajouter le module Nuxt UI dans votre nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/ui']
})
@nuxt/icon, @nuxt/fonts ou @nuxtjs/color-mode à votre tableau modules car Nuxt UI les enregistre automatiquement. Vous pouvez toujours configurer ces modules dans votre nuxt.config.ts à l'aide des touches icon, fonts et colorMode.Import Tailwind CSS et Nuxt UI dans votre CSS
@import "tailwindcss";
@import "@nuxt/ui";
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css']
})
{
"files.associations": {
"*.css": "tailwindcss"
},
"editor.quickSuggestions": {
"strings": "on"
},
"tailwindCSS.classAttributes": ["class", "ui"],
"tailwindCSS.classFunctions": ["defineAppConfig"]
}
Enveloppez votre application avec le composant App
<template>
<UApp>
<NuxtPage />
</UApp>
</template>
Utiliser un modèle Nuxt
Commencez avec l'un de nos templates officiels [x/templates) en utilisant le bouton Use this template sur GitHub ou la CLI:
npm create nuxt@latest -- -t ui
npm create nuxt@latest -- -t ui/landing
npm create nuxt@latest -- -t ui/docs
npm create nuxt@latest -- -t ui/saas
npm create nuxt@latest -- -t ui/dashboard
npm create nuxt@latest -- -t ui/chat
npm create nuxt@latest -- -t ui/portfolio
npm create nuxt@latest -- -t ui/changelog
npm create nuxt@latest -- -t ui/editor
npm create nuxt@latest -- -t ui/calendar
Dashboard
Un modèle de tableau de bord avec une disposition multi-colonnes pour créer des interfaces d'administration sophistiquées.
Portfolio
Un modèle de portfolio élégant pour présenter votre travail, vos compétences et votre blog alimenté par Nuxt Content.
Changelog
Un modèle de journal des modifications pour afficher vos notes de publication de dépôt de GitHub alimenté par Comark.
options
Vous pouvez personnaliser l'interface utilisateur de Nuxt en fournissant des options dans votre nuxt.config.ts.
Xph192xxprefix
Utilisez l'option prefix pour modifier le préfixe des composants.
Par défaut: U
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prefix: 'Nuxt'
}
})
xfonts
Utilisez l'option fonts pour activer ou désactiver le module @nuxt/fonts.
- Par défaut:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
fonts: false
}
})
xcolorMode
Utilisez l'option colorMode pour activer ou désactiver le module @nuxt/color-mode.
- Par défaut:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
colorMode: false
}
})
xtheme.colors
Utilisez l'option theme.colors pour définir les alias de couleurs dynamiques utilisés pour générer le thème des composants.
Par défaut: ['primary', 'secondary', 'success', 'info', 'warning', 'error']
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
colors: ['primary', 'error']
}
}
})
--ui-color-* dans les thèmes de composants qui ont des variantes de couleur, que votre application l'utilise ou non. Coupez la liste aux alias que vous utilisez réellement et conservez error si vous utilisez des formulaires, car les styles de validation en dépendent.xtheme.transitions
Utilisez l'option theme.transitions pour activer ou désactiver les transitions sur les composants.
- Par défaut:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
transitions: false
}
}
})
transition-colors sur les composants avec des états stationnaires ou actifs.xtheme.unstyled: badge{label="4.9+" class="align-text-top"}
Utilisez l'option theme.unstyled pour supprimer toutes les classes de thème par défaut des composants, en ne conservant que leur structure et les classes que vous fournissez via class, ui ou app.config.ui.
Par défaut: false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
unstyled: true
}
}
})
Modal, Drawer ou Calendar auront besoin de vous pour réapprovisionner leur mise en page, similaire au mode non stylé de PrimeVue.xtheme.defaultVariants
Utilisez l'option theme.defaultVariants pour remplacer les variantes color et size par défaut pour les composants.
Seuls les paramètres par défaut qui sont exactement primary ou md sont remplacés, donc Avatar conserve color: 'neutral' et Separator conserve size: 'xs'.
Par défaut: { color: 'primary', size: 'md' }
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
defaultVariants: {
color: 'neutral',
size: 'sm'
}
}
}
})
xtheme.prefix: badge{label="4.2+" class="align-text-top"}
Utilisez l'option theme.prefix pour configurer le même préfixe que celui que vous avez défini sur votre importation CSS Tailwind. Cela garantit que les composants de l'interface utilisateur Nuxt utilisent les classes utilitaires et les variables CSS préfixées correctes.
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
prefix: 'tw'
}
}
})
@import "tailwindcss" prefix(tw);
@import "@nuxt/ui";
fonts.processCSSVariables pour utiliser l'option de préfixe avec le module @nuxt/fonts:export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
prefix: 'tw'
}
},
fonts: {
processCSSVariables: true
}
})
Cela préfixe automatiquement toutes les classes d'utilitaires Tailwind et les variables CSS dans les thèmes de composants Nuxt UI:
<!-- Without prefix -->
<button class="px-2 py-1 text-xs hover:bg-primary/75">Button</button>
<!-- With prefix: tw -->
<button class="tw:px-2 tw:py-1 tw:text-xs tw:hover:bg-primary/75">Button</button>
xprose
Utilisez l'option prose pour forcer l'importation des composants Nuxt UI [Prose)) même si @nuxtjs/mdc, @nuxt/content ou @comark/nuxt n'est pas installé.
Par défaut: false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prose: true
}
})
mdc: badge{label="Deprecated" color="warning" class="align-text-top"}
Utilisez l'option prose à la place.
xcontent
Utilisez l'option content pour forcer l'importation des composants de prose et de contenu de l'interface utilisateur Nuxt, même si @nuxt/content n'est pas installé.
Par défaut: false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
content: true
}
})
xexperimental.componentDetection: badge{label="4.1+" class="align-text-top"}
Utilisez l'option experimental.componentDetection pour activer la détection automatique des composants pour le tree-shaking. Cette fonctionnalité analyse votre code source pour détecter les composants réellement utilisés et génère uniquement le CSS nécessaire pour ces composants (y compris leurs dépendances).
- Par défaut:
falseType de fichier:boolean | string[]
**Activer la détection automatique: **
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
experimental: {
componentDetection: true
}
}
})
**Inclure des composants supplémentaires pour une utilisation dynamique: **
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
experimental: {
componentDetection: ['Modal', 'DropdownMenu', 'Popover']
}
}
})
<component :is="..." /> qui ne peuvent pas être analysés statiquement.Libération continue
Nuxt UI utilise pkg.pr.new pour les versions d'aperçu continues, offrant aux développeurs un accès instantané aux dernières fonctionnalités et corrections de bogues sans attendre les versions officielles.
Les versions d'aperçu automatiques sont créées pour tous les commits et les PR de la branche v4.Utilisez-les en remplaçant la version de votre paquet par le hachage de commit ou le numéro de PR.
{
"dependencies": {
- "@nuxt/ui": "^4.0.0",
+ "@nuxt/ui": "https://pkg.pr.new/@nuxt/ui@4c96909",
}
}