instalación
Configuración
Añadir a un proyecto de Nuxt
Instalar el paquete Nuxt UI
pnpm add @nuxt/ui tailwindcss
yarn add @nuxt/ui tailwindcss
npm install @nuxt/ui tailwindcss
bun add @nuxt/ui tailwindcss
Añadir el módulo de interfaz de usuario de Nuxt en su nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/ui']
})
@nuxt/icon, @nuxt/fonts o @nuxtjs/color-mode a su matriz modules ya que Nuxt UI los registra automáticamente.Puede configurar estos módulos en su nuxt.config.ts utilizando las teclas icon, fonts y colorMode.Importe Tailwind CSS y Nuxt UI en su 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"]
}
Envuelva su aplicación con el componente de aplicación
<template>
<UApp>
<NuxtPage />
</UApp>
</template>
Use una plantilla de Nuxt
Comience con uno de nuestros plantillas oficiales x usando el botón Use this template en GitHub o 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
Una plantilla de tablero con diseño de varias columnas para crear interfaces de administración sofisticadas.
Portfolio
Una plantilla de portafolio elegante para mostrar su trabajo, habilidades y blog impulsado por Nuxt Content.
Changelog
Una plantilla de registro de cambios para mostrar las notas de lanzamiento de su repositorio de GitHub impulsado por Comark.
Xph190xOpciones
Puede personalizar la interfaz de usuario de Nuxt proporcionando opciones en su nuxt.config.ts.
xprefix (Edición española)
Utilice la opción prefix para cambiar el prefijo de los componentes.
- xDefault:
Upor defecto
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prefix: 'Nuxt'
}
})
xfonts
Utilice la opción fonts para activar o desactivar el módulo @nuxt/fonts.
- Default:
true(en inglés)
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
fonts: false
}
})
xcolorMode
Utilice la opción colorMode para activar o desactivar el módulo @nuxt/color-mode.
- Default:
truex{lang="ts-type"} (en inglés)
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
colorMode: false
}
})
xtheme.colors (Edición española)
Utilice la opción theme.colors para definir los alias de color dinámicos utilizados para generar el tema de los componentes.
- Default:
['primary', 'secondary', 'success', 'info', 'warning', 'error']por defecto
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
colors: ['primary', 'error']
}
}
})
--ui-color-* en los temas de componentes que tienen variantes de color, ya sea que la aplicación lo use o no. Recorte la lista a los alias que realmente usa y conserve error si usa formularios, ya que los estilos de validación dependen de él.xtheme.transitions (Edición española)
Utilice la opción theme.transitions para habilitar o deshabilitar las transiciones en los componentes.
- Default:
truepor defecto
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
transitions: false
}
}
})
transition-colors a los componentes con estados activos o estacionarios.xtheme.unstyled: badge{label="4.9+" class="align-text-top"}
Utilice la opción theme.unstyled para eliminar todas las clases de tema predeterminadas de los componentes, manteniendo solo su estructura y las clases que proporcione a través de class, ui o app.config.ui.
- Default:
falsex{lang="ts-type"} por defecto
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
unstyled: true
}
}
})
Modal, Drawer o Calendar necesitarán que vuelva a suministrar su diseño, similar al modo sin estilo de PrimeVue.Xph310xxtheme.defaultVariants (Edición española)
Utilice la opción theme.defaultVariants para anular las variantes color y size predeterminadas para los componentes.
Sólo los valores predeterminados que son exactamente primary o md se sustituyen, por lo que Avatar mantiene color: 'neutral' y Separator mantiene size: 'xs'.
- Default:
{ color: 'primary', size: 'md' }(en inglés)
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
defaultVariants: {
color: 'neutral',
size: 'sm'
}
}
}
})
xtheme.prefix y badge{label="4.2+" class="align-text-top"}
Utilice la opción theme.prefix para configurar el mismo prefijo que estableció en su importación de Tailwind CSS. Esto garantiza que los componentes de la interfaz de usuario de Nuxt utilicen las clases de utilidad y las variables CSS prefijadas correctas.
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
prefix: 'tw'
}
}
})
@import "tailwindcss" prefix(tw);
@import "@nuxt/ui";
fonts.processCSSVariables para usar la opción de prefijo con el módulo @nuxt/fonts:export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
prefix: 'tw'
}
},
fonts: {
processCSSVariables: true
}
})
Esto prefijará automáticamente todas las clases de utilidad Tailwind y las variables CSS en los temas de componentes de interfaz de usuario de Nuxt:
<!-- 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
Utilice la opción prose para forzar la importación de los componentes de Nuxt UI Prose incluso si no está instalado @nuxtjs/mdc, @nuxt/content o @comark/nuxt.
- Default:
false(en inglés)
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prose: true
}
})
mdc: badge{label="Deprecated" color="warning" class="align-text-top"} (en inglés)
En su lugar, utilice la opción prose.
xcontent
Utilice la opción content para forzar la importación de los componentes de prosa y contenido de la interfaz de usuario de Nuxt, incluso si no está instalado @nuxt/content.
- Default:
false(en inglés)
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
content: true
}
})
xexperimental.componentDetection: badge{label="4.1+" class="align-text-top"}
Utilice la opción experimental.componentDetection para habilitar la detección automática de componentes para el tree-shaking. Esta función escanea su código fuente para detectar qué componentes se utilizan realmente y solo genera el CSS necesario para esos componentes (incluidas sus dependencias).
- Default:
false(en español) Tipo de teléfono:boolean | string[]
**Habilitar la detección automática: **
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
experimental: {
componentDetection: true
}
}
})
** Incluye componentes adicionales para uso dinámico: **
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
experimental: {
componentDetection: ['Modal', 'DropdownMenu', 'Popover']
}
}
})
<component :is="..." /> que no se pueden analizar estáticamente.Liberaciones continuas
La interfaz de usuario de Nuxt utiliza pkg.pr.new para versiones de vista previa continuas, proporcionando a los desarrolladores acceso instantáneo a las últimas funciones y correcciones de errores sin esperar a versiones oficiales.
Se crean versiones de vista previa automáticas para todos los commits y PRs de la rama v4.Utilízalos reemplazando la versión de tu paquete con el hash de commit o número de PR específico.
{
"dependencies": {
- "@nuxt/ui": "^4.0.0",
+ "@nuxt/ui": "https://pkg.pr.new/@nuxt/ui@4c96909",
}
}