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.
El timeout predeterminado para Nuxt es de 500 ms.
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-new/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 predeterminado es de
500 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.