Nuxt.jsでjsonファイルを読み込む

Nuxt.jsでjsonファイルを読み込む方法を試してみます。

設定方法

axiosを使用します。
プロジェクトディレクトリに移動後、下記コマンドでインストールします。

1
npm install @nuxtjs/axios

nuxt.config.jsに下記を追加します。

1
2
3
export default {
  modules: ['@nuxtjs/axios']
}

これで$axiosが使用できるようになりました。

サンプルコード

今回はローカルにjsonファイルを設置して試してみます。
static/data/ にarticle.jsonを設置します。

1
2
3
4
5
6
7
8
9
10
11
{
    "articles": [
        {
            "title": "タイトルA",
            "body": "Aの本文"
        }, {
            "title": "タイトルB",
            "body": "Bの本文"
        }
    ]
}

pages/index.vueを下記のように設定します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<template>
  <ul>
    <li v-for="article of articles">{{ article.title }}</li>
  </ul>
</template>
 
<script>
  export default {
    data() {
      return {
        articles: []
      }
    },
    async asyncData({ $axios }) {
      const res = await $axios.$get('/data/article.json');
      return {
        articles: res.articles
      }
    }
  }
</script>

これでjsonデータを取得してページ上に表示させることができました。

1
2
3
4
<ul>
  <li>タイトルA</li>
  <li>タイトルB</li>
</ul>

参考サイト

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2025年4月
 12345
6789101112
13141516171819
20212223242526
27282930