Skip to main content

Nuxt での実装

Nuxt 4Kameleoon Web Experimentation と統合します。本ガイドでは、アンチフリッカー保護 付きで Kameleoon エンジンをプリロードし、クライアントハイドレーション後engine.js スクリプトを実行する手順を説明します。このセットアップにより、最適なパフォーマンス、視覚的安定性、Nuxt のレンダリングライフサイクルとの互換性を保証します。 リファレンス実装にアクセスできます:

本番環境向けの Nuxt 4 統合にアクセスする

本番環境向けのリポジトリはこちらにあります: https://github.com/Kameleoon/setup-engine-nuxt-4 開始する前に、integrations/Kameleoon/sitecode.tssitecode の値を置き換えてください
Kameleoon プロジェクトを作成した時期によっては、スクリプトが kameleoon.eu または kameleoon.io に配置されている場合があります。常に Kameleoon App のプロジェクト設定にあるドメインを使用してください。

概要

ワークフロー

クイックセットアップ

  1. integrations/Kameleoon フォルダを Nuxt プロジェクトに追加します。
  2. 両方の統合コンポーネントをレイアウトにインポートして登録します(layouts/default.vue を推奨)。default.vue での使用 を参照してください。

コンポーネント

統合では、Nuxt のレンダリングパイプラインの異なる段階で実行される 2つの Vue コンポーネント を使用します: このアプローチにより、高速なレンダリング、安定した UI 動作、Nuxt ハイドレーションとの完全な互換性を提供します。

1. KameleoonHead.vue

KameleoonHead.vueサーバーサイドレンダリング中にのみ 実行されます。以下によりちらつきのない体験のためにページを準備します:
  • SSR 中にアンチフリッカー CSS を注入します。
  • ブラウザが早期にフェッチするように Kameleoon エンジン(engine.js)をプリロードします。
GitHub で KameleoonHead.vue を参照してください。

2. KameleoonScriptLoader.client.vue

KameleoonScriptLoader.client.vueハイドレーション後のクライアント上で 実行されます。 このコンポーネントは:
  • ページの準備が整ったらアンチフリッカースタイルシートを削除します。
  • engine.js スクリプトを動的に読み込みます。
  • 遅いスクリプト読み込みのためのタイミングとフォールバック動作を処理します。
GitHub で KameleoonScriptLoader.client.vue を参照してください。
デフォルトのアンチフリッカータイムアウトは 750 ms です。必要に応じて kameleoonLoadingTimeout を調整してください。

default.vue での使用

レイアウトでコンポーネントを組み合わせるには、以下の例を使用してください:
GitHub で default.vue を参照してください。

重要なポイント

  • ハイドレーションミスマッチの警告を防ぎます。
  • Kameleoon の初期化前にちらつきのない体験を保証します。
  • SPA ナビゲーションを含めて、スクリプトを 1回のみ 読み込みます。
  • レイアウト、ページ、動的ルート、条件付きレンダリングとの互換性を維持します。
この設定により、Nuxt アプリケーションはレンダリングの安定性に影響を与えることなく、Kameleoon を確実に読み込んで実行します。