Nuxt.jsでjsonファイルを読み込む方法を試してみます。
設定方法
axiosを使用します。
プロジェクトディレクトリに移動後、下記コマンドでインストールします。
npm install @nuxtjs/axios
nuxt.config.jsに下記を追加します。
export default { modules: ['@nuxtjs/axios'] }
これで$axiosが使用できるようになりました。
サンプルコード
今回はローカルにjsonファイルを設置して試してみます。
static/data/ にarticle.jsonを設置します。
{ "articles": [ { "title": "タイトルA", "body": "Aの本文" }, { "title": "タイトルB", "body": "Bの本文" } ] }
pages/index.vueを下記のように設定します。
<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データを取得してページ上に表示させることができました。
<ul> <li>タイトルA</li> <li>タイトルB</li> </ul>
コメントが承認されるまで時間がかかります。