Nuxt での実装
Nuxt 4 を Kameleoon Web Experimentation と統合します。本ガイドでは、アンチフリッカー保護 付きで Kameleoon エンジンをプリロードし、クライアントハイドレーション後 にengine.js スクリプトを実行する手順を説明します。このセットアップにより、最適なパフォーマンス、視覚的安定性、Nuxt のレンダリングライフサイクルとの互換性を保証します。
リファレンス実装にアクセスできます:
本番環境向けの Nuxt 4 統合にアクセスする
本番環境向けのリポジトリはこちらにあります: https://github.com/Kameleoon/setup-engine-nuxt-4 開始する前に、integrations/Kameleoon/sitecode.ts で sitecode の値を置き換えてください。
Kameleoon プロジェクトを作成した時期によっては、スクリプトが
kameleoon.eu または kameleoon.io に配置されている場合があります。常に Kameleoon App のプロジェクト設定にあるドメインを使用してください。概要
ワークフロー
クイックセットアップ
integrations/Kameleoonフォルダを Nuxt プロジェクトに追加します。- 両方の統合コンポーネントをレイアウトにインポートして登録します(
layouts/default.vueを推奨)。default.vueでの使用 を参照してください。
コンポーネント
統合では、Nuxt のレンダリングパイプラインの異なる段階で実行される 2つの Vue コンポーネント を使用します:
このアプローチにより、高速なレンダリング、安定した UI 動作、Nuxt ハイドレーションとの完全な互換性を提供します。
1. KameleoonHead.vue
KameleoonHead.vue は サーバーサイドレンダリング中にのみ 実行されます。以下によりちらつきのない体験のためにページを準備します:
- SSR 中にアンチフリッカー CSS を注入します。
- ブラウザが早期にフェッチするように Kameleoon エンジン(
engine.js)をプリロードします。
KameleoonHead.vue を参照してください。
2. KameleoonScriptLoader.client.vue
KameleoonScriptLoader.client.vue は ハイドレーション後のクライアント上で 実行されます。
このコンポーネントは:
- ページの準備が整ったらアンチフリッカースタイルシートを削除します。
engine.jsスクリプトを動的に読み込みます。- 遅いスクリプト読み込みのためのタイミングとフォールバック動作を処理します。
KameleoonScriptLoader.client.vue を参照してください。
デフォルトのアンチフリッカータイムアウトは
750 ms です。必要に応じて kameleoonLoadingTimeout を調整してください。default.vue での使用
レイアウトでコンポーネントを組み合わせるには、以下の例を使用してください:
default.vue を参照してください。
重要なポイント
- ハイドレーションミスマッチの警告を防ぎます。
- Kameleoon の初期化前にちらつきのない体験を保証します。
- SPA ナビゲーションを含めて、スクリプトを 1回のみ 読み込みます。
- レイアウト、ページ、動的ルート、条件付きレンダリングとの互換性を維持します。