El SSR

Nuxt UI tiene soporte de primera parte para Vue SSR. Esta guía le ayudará a tenerlo completamente habilitado.

@@pH000@@Uso del producto

Cuando se utiliza la interfaz de usuario de Nuxt con el marco de trabajo de Nuxt, el servidor SSR funcionará completamente fuera de la caja. Sin embargo, cuando se utiliza con Vue puro, tendrá que prestar atención a algunos detalles para que funcione como se espera.

Inyección de Variables de Color

La interfaz de usuario de Nuxt, por defecto, inyecta en el <head> del documento las variables de color que se utilizan en todos los componentes. Dado que el documento no es administrado por la biblioteca de interfaz de usuario en Vue SSR, deberá inyectarlo manualmente.

Puede hacerlo utilizando @unhead de la siguiente manera:

import { createHead, renderSSRHead } from '@unhead/vue/server'

// Create the header with unhead
const head = createHead()

// Render SSR header and append it to the SSR application instance
const payload = await renderSSRHead(head)
app.head.push(payload.headTags)

Detección de Esquemas de Color

Para evitar parpadeos en el SSR debido a la diferencia del esquema de color seleccionado, tendrá que detectar el esquema de color del usuario antes de la inicialización de la aplicación.

Agregar el script a continuación al <head> de su documento detectará si el usuario está utilizando el tema oscuro y, por lo tanto, también renderizará el SSR en el tema oscuro.

<script>
const theme = localStorage.getItem('vueuse-color-scheme') || 'auto'
if (theme === 'dark' || (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
  document.documentElement.classList.add('dark')
} else {
  document.documentElement.classList.remove('dark')
}
</script>

Iconos de visualización

La interfaz de usuario de Nuxt agrupa los iconos que utiliza en su compilación, por lo que se renderizan durante la SSR y funcionan completamente sin conexión una vez que instala la colección de iconos localmente, sin necesidad de solicitar la API de Iconify. Consulte la integración Icons para configurar esto y agrupar sus propios iconos.