首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Nuxt3中使用@nuxtjs/axios模块?

如何在Nuxt3中使用@nuxtjs/axios模块?
EN

Stack Overflow用户
提问于 2022-12-04 16:15:02
回答 1查看 16关注 0票数 0

我有以下代码从https://fakestoreapi.com/products/获取API数据

代码语言:javascript
复制
<template>
<div>


</div>
</template>


  <script>  
  definePageMeta({
    layout: "products"
  })

export default {
  data () {
    return {
      data: '',
    }
  },
  async fetch() {
    const res = await this.$axios.get('https://fakestoreapi.com/products/')
    console.log(res.data)
  },
}
</script>

我安装了axios,在nuxt.config.ts中我安装了:

代码语言:javascript
复制
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({

    app: {
        head: {
            title: 'Nuxt',
            meta: [
                { name: 'description', content: 'Everything about - Nuxt-3'}
            ],
            link: [
                {rel: 'stylesheet', href: 'https://fonts.googleapis.com/icon?family=Material+Icons' }
            ]
        }
    },
    runtimeConfig: {
        currencyKey: process.env.CURRENCY_API_KEY
    },
    modules: [
        "@nuxtjs/tailwindcss",
    ],
    buildModules: [
        "@nuxtjs/axios"
    ],
    axios: {
      baseURL: '/',
    }
})

我的控制台中有以下内容

是一个实验性的特性,它的API可能会改变。

我不会在控制台中获取API数据。

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 17:37:43

正如告诉在这页上的那样,我们不再在Nuxt3中使用@nuxtjs/axios模块,而是使用ohmyfetch,它现在通过$axios作为写在这里直接进入框架的核心。

因此,您的配置文件应该如下所示

代码语言:javascript
复制
export default defineNuxtConfig({
  app: {
    head: {
      title: 'Nuxt Dojo',
      meta: [
        { name: 'description', content: 'Everything about - Nuxt-3' }
      ],
      link: [
        { rel: 'stylesheet', href: 'https://fonts.googleapis.com/icon?family=Material+Icons' }
      ]
    }
  },
  runtimeConfig: {
    currencyKey: process.env.CURRENCY_API_KEY
  },
  modules: [
    "@nuxtjs/tailwindcss"
  ],
})

给定的/pages/products/index.vue可以是这样的

代码语言:javascript
复制
<template>
  <div>
    <p v-for="user in users" :key="user.id">ID: {{ user.id }}  {{ user.name }}</p>
  </div>
</template>


<script>
definePageMeta({
  layout: "products"
})

export default {
  data () {
    return {
      users: '',
    }
  },
  async mounted() {
    this.users = await $fetch('https://jsonplaceholder.typicode.com/users')
  },
}
</script>

这就是它的结尾(网络选项卡中有一个成功的HTTP请求)

作为确认,我们可以看到,Nuxt3在模块页上确实不支持(也不会支持)该模块。

Suspense错误在正式文件中详细说明。

<Suspense>是一个实验特性。它不能保证达到稳定状态,API可能会在此之前更改。

它可能看起来很可怕,但您完全可以使用API本身,因为它是一个警告,而不是一个错误,它完全可以!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74678449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档