Nuxt2からNuxt3へのバージョンアップ時のnuxtApp.provideの変更【備忘録】
今回はNuxt2からNuxt3へのバージョンアップ時、Nuxt2で今まで使っていたnuxtApp.provideの変更例についてご紹介していきます。
バージョンアップ後のNuxt.jsのバージョンは3.11.2となります。
Nuxt2からNuxt3へのバージョンアップ時のnuxtApp.provideの変更【備忘録】
例えば、pluginsのディレクトリ配下に次のtest.jsがあるとします。
・test.js
1 2 3 4 5 6 7 8 9 10 11 12 |
export default defineNuxtPlugin((nuxtApp) => { const tests = { status: { get: async () => { return await $fetch('/api/status'); } } }; // グローバルに`$tests`として提供 nuxtApp.provide('tests', tests); }); |
今までのNuxt2では
1 2 3 4 5 6 7 |
await this.$tests.status .get() .then(r => { }) .catch(e => { this.$nuxt.error(e) }) |
のような表記でnuxtApp.provideで与えた関数を呼び出せたと思います。
Nuxt3では例えば次のように書きましょう。
1 2 3 4 5 6 7 8 9 |
import { showError } from '#app'; const { $tests } = useNuxtApp(); await $tests.status .get() .then(r => { }) .catch(e => { showError(e); }) |
これでNuxt2と変わらない機能を得ることができるでしょう。
余談となりますが、Nuxt3ではnuxt.config.jsやnuxt.config.tsで自動的にpluginsフォルダ内のファイルを読み込むため、nuxt.config.jsやnuxt.config.ts上でのplugins関係の設定は不要となります。
終わりに
今回はNuxt2からNuxt3へのバージョンアップ時、Nuxt2で今まで使っていたnuxtApp.provideの変更例についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません