【问题标题】:How to use the axios in custom folder in nuxt如何在nuxt的自定义文件夹中使用axios
【发布时间】:2021-02-01 13:04:06
【问题描述】:

我已经在我的 Nuxt 应用程序中添加了 Axios,我正在尝试使用它的 api(自定义文件夹)文件夹,但 this.$axios 在那里未定义,所以我无法使用它。

这是我的设置:

    require("dotenv").config();
    
    export default {
     
      head: {
        title: 'nuxt-app',
        htmlAttrs: {
          lang: 'en',
        },
        meta: [
          { charset: 'utf-8' },
          { name: 'viewport', content: 'width=device-width, initial-scale=1' },
          { hid: 'description', name: 'description', content: '' },
        ],
        link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }],
      },
    
      // Global CSS: https://go.nuxtjs.dev/config-css
      css: ['@assets/styles/app.scss'],
    
      // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
      plugins: ["~/plugins/axios.js"],
    
      // Auto import components: https://go.nuxtjs.dev/config-components
      components: true,
    
      // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
      buildModules: ['@nuxtjs/style-resources'],
      bootstrapVue: {
        bootstrapCSS: false,
        bootstrapVueCSS: false,
      },
    
      styleResources: {
        sass: [],
        scss: [],
        less: [],
        stylus: [],
      },
    
      // Modules: https://go.nuxtjs.dev/config-modules
      modules: [
        '@nuxtjs/axios',
        '@nuxtjs/dotenv',
      ], 
      build: {
       
      },
    }

plugin/axios:

      export default function ({ $axios, error: nuxtError }) {
        $axios.setBaseURL('http://api.example.com');
        $axios.onError(error => {
          nuxtError({
            statusCode: error.response.status,
            message: error.message,
          });
          return Promise.resolve(false);
        })
      }

我想访问商店外的$axios,组件/布局位于与 Nuxt 创建的完全不同的文件夹中。

【问题讨论】:

    标签: vuejs2 axios nuxt.js vuex


    【解决方案1】:
    import axios from 'axios';
    
    export default function ({ $axios, error: nuxtError }) {
            axios.setBaseURL('http://api.example.com');
            axios.onError(error => {
              nuxtError({
                statusCode: error.response.status,
                message: error.message,
              });
              return Promise.resolve(false);
            })
          }
    

    【讨论】:

    • 谢谢你的回答,但这不是使用 nuxt-axios
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 2020-12-07
    • 2021-01-28
    • 1970-01-01
    • 2011-10-06
    • 2020-08-22
    • 2020-04-02
    相关资源
    最近更新 更多