Implementación con Nuxt
Integre Nuxt 4 con Kameleoon Web Experimentation. Esta guía cubre los pasos para precargar el motor de Kameleoon con protección anti-flicker y ejecutar el scriptengine.js después de la hidratación del cliente. Esta configuración garantiza un rendimiento óptimo, estabilidad visual y compatibilidad con el ciclo de vida de renderizado de Nuxt.
Acceda a implementaciones de referencia para:
Acceda a la integración Nuxt 4 lista para producción
Encuentre el repositorio listo para producción aquí: https://github.com/Kameleoon/setup-engine-nuxt-4 Antes de empezar, sustituya el valor del sitecode enintegrations/Kameleoon/sitecode.ts.
En función de cuándo haya creado su proyecto de Kameleoon, sus scripts pueden residir en
kameleoon.eu o en kameleoon.io. Utilice siempre el dominio de los ajustes de su proyecto en la aplicación Kameleoon.Visión general
Flujo de trabajo
Configuración rápida
- Añada la carpeta
integrations/Kameleoona su proyecto Nuxt. - Importe y registre ambos componentes de la integración en su layout (recomendamos
layouts/default.vue). Consulte: Uso endefault.vue.
Componentes
La integración utiliza dos componentes Vue ejecutados en distintas etapas del pipeline de renderizado de Nuxt:
Este enfoque proporciona un renderizado rápido, un comportamiento estable de la interfaz y compatibilidad total con la hidratación de Nuxt.
1. KameleoonHead.vue
KameleoonHead.vue se ejecuta solo durante el renderizado del lado del servidor. Prepara la página para una experiencia sin flickering:
- Inyectando CSS anti-flicker durante el SSR.
- Precargando el motor de Kameleoon (
engine.js) para que el navegador lo obtenga cuanto antes.
KameleoonHead.vue en GitHub.
2. KameleoonScriptLoader.client.vue
KameleoonScriptLoader.client.vue se ejecuta en el cliente después de la hidratación.
El componente:
- Elimina la hoja de estilos anti-flicker cuando la página está lista.
- Carga dinámicamente el script
engine.js. - Gestiona los tiempos y el comportamiento de respaldo para la carga lenta del script.
KameleoonScriptLoader.client.vue en GitHub.
El timeout anti-flicker predeterminado es de
750 ms. Ajuste kameleoonLoadingTimeout según sea necesario.Uso en default.vue
Utilice el siguiente ejemplo para combinar componentes en su layout:
default.vue en GitHub.
Conclusiones clave
- Evite advertencias de discrepancia en la hidratación.
- Garantice una experiencia sin flickering antes de la inicialización de Kameleoon.
- Cargue el script solo una vez, también durante la navegación SPA.
- Mantenga la compatibilidad con layouts, páginas, rutas dinámicas y renderizado condicional.