Nuxt.js向けプレイヤー適用
    • PDF

    Nuxt.js向けプレイヤー適用

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    Nuxt.js用プレイヤーの適用では、Video Player Enhancement Web SDK JSを活用し、プレイヤーを適用して設定するためのユースケースを紹介します。

    参考

    Nuxt.jsのユースケースを実行するには以下のような環境が求められます。

    • Nuxt.jsバージョン: 2.15.8
    • Vue.jsバージョン: 2.6.14

    全域に外部スクリプトをロード

    外部スクリプトを全域にロードする方法を使用してプレイヤーを適用できます。
    全域に外部スクリプトをロードする方法は、次の通りです。

    1. nuxt.config.jsファイルで headプロパティ内にスクリプトを追加します。
      export default {
      // ....
           head: {
               title: 'nuxt2-demo-app',
               // ...
               script: [ // スクリプト追加
                   {
                       type: "text/javascript",
                       defer: true,
                       hid: "stripe",
                       src: "https://player.vpe.naverncp.com/ncplayer.js?access_key=VPE SDK Access Key"
                   }
               ]
           },
      }
      
    2. pages/index.vue ページコンポーネントから DemoPlayer サブコンポーネントを呼び出します。
      <template>
           <div>
               Demo Player Page
               <DemoPlayer />
           </div>
      </template>
      
      
      
    3. コンポーネントディレクトリで components/DemoPlayer.vue ファイルを作成し、以下のようにコードを作成します。
      <template>
           <div id="video"></div>
      </template>
      
      
      <style scoped>
      </style>
      

    特定ページから外部スクリプトをロード

    Nuxtと vue-metaを活用して希望するページコンポーネントにスクリプトをロードできます。Nuxt.jsから全域に外部スクリプトをロードする方法と似ています。特定ページから外部スクリプトをロードする方法は、次の通りです。

    1. ページコンポーネントを作成します。

      • 例) page/index.vue ファイル
      <template>
           <div>
               Demo Player Page
               <DemoPlayer v-if="scriptLoaded"/>
           </div>
      </template>
      
      
      
    2. サブコンポーネントを作成します。

      • 例) components/DemoPlayer.vue ファイル
      <template>
           <div id="video"></div>
      </template>
      
      
      <style scoped>
      </style>
      
      注意

      <DemoPlayer> コンポーネントを直接レンダリングすると、外部スクリプトのロードを呼び出すライフサイクル(LifeCycle)より先に実行され、エラーが発生する場合があります。このようなエラーの発生を防ぐには、外部スクリプトに関してロード前とロードして使用できる2つの状態を処理する必要があります。

    SSRモードで Nuxtを使用する際にページに対する初回リクエスト(SSR)を経て外部スクリプトがロードされたページに移動した場合、mountedライフサイクルフック(life cycle hook)もスクリプトがロードされる前に実行されることがあります。したがって上記コードでは data()に urlと access_keyを定義し、head()機能に追加して適用します。
    stripeのように外部スクリプトの APIに依存する場合はコールバック関数のプロパティを使用し、scriptLoaded 任意の変数を trueに変更して view画面にレンダリングされるように <DemoPlayer v-if="scriptLoaded">のように適用して操作できます。

    :::


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.