跳到主要內容
前端開發

Nuxt 安裝 @nuxtjs/axios 模組

記錄在 Nuxt 2 專案安裝 @nuxtjs/axios 模組,讓元件裡能直接用 this.$axios 發請求的做法。這個模組已經停止維護,Nuxt 3 之後改用內建的 useFetch/$fetch,整理在新的一篇。

W

安裝

npm install @nuxtjs/axios

nuxt.config.js 註冊模組:

export default {
  modules: ['@nuxtjs/axios'],
  axios: {
    baseURL: 'https://api.example.com',
  },
};

註冊完之後,任何元件裡都能直接用 this.$axios 發請求,不需要自己在每個檔案裡 import axios

export default {
  async asyncData({ $axios }) {
    const posts = await $axios.$get('/posts');
    return { posts };
  },
};

$axios.$get()(前面多一個 $)是這個模組提供的簡化方法,直接回傳 response.data,不用自己再多寫一層 .then(res => res.data)

現在還適用嗎

@nuxtjs/axios 已經停止維護,Nuxt 官方在 Nuxt 3 之後不再推薦它,改成推內建的 useFetch$fetch(底層是 ofetch),不需要額外安裝任何模組。整理在《Nuxt 內建的 useFetch 與 $fetch》。

參考資料

分享這篇