tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

【Nuxt.js】グローバルオブジェクトを拡張する

typesディレクトリに.d.tsの拡張子を持つファイルを作成してinterfaceで拡張する

// plugins-types.d.ts

import { Repository } from '@/api'

declare module 'vue/types/vue' {
  // Vueインスタンス(this)の型追加
  interface Vue {
    // プロパティ名: 型定義
    $repository: Repository
  }
}

declare module '@nuxt/types' {
  // Nuxt Contextへの型追加
  interface Context {
    $repository: Repository
  }

  // NuxtAppOptions(Context.app)への型追加
  interface NuxtAppOptions {
    $repository: Repository
  }
}

blog.cloud-acct.com

qiita.com