nuxt中使用axios/@nuxtjs/axios 以及使用mock

1. 搭建nuxt项目:参考https://blog.csdn.net/qq_42231156/article/details/90174203。

2. nuxt中使用全局@nuxtjs/axios:参考:https://blog.csdn.net/weixin_30794491/article/details/99910973。

2.1 如果pageage.json中的dependencies没有"@nuxtjs/axios"就下载安装:npm install --save @nuxtjs/axios

2.2 在nuxt.config.js中配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   module.exports = {    
        modules: [
            '@nuxtjs/axios',
        ],
        axios: {
            proxy: true,
            prefix: '/api/',
            credentials: true
        },

        proxy: {
            '/api/': {
            target: 'https://xxx.cn',
            pathRewrite: {
                '^/api/': '/',
                changeOrigin: true
            }
            }
        },
        build: {
            vendor: ['axios'],
        }
    }

2.3 在组件中调用:

1
2
3
4
5
mounted() {
        this.$axios.get("/index").then(res=>{
            console.log(res)
        })
}

3. nuxt中使用axios:

3.1 下载axios:npm install --save axios

3.2 在需要的页面引入使用:import axios from "axios"

1
2
3
axios.get("user.json").then(res=>{
    console.log(res)
})

4. nuxt使用mock:

4.1 下载mock:npm install --save mock

4.2 在plugins/mock.js文件创建:

1
2
3
4
5
6
7
8
var Mock = require('mockjs')

Mock.mock(/user\.json/, {
  'list|1-10': [{
    'id|+1': 1,
    'email': '@EMAIL'
  }]
})

4.3 在nuxt.config.js引入mock插件:

1
2
3
 plugins: [
      { src: '~plugins/mock', ssr: true }
]

4.4 在axios请求mock的数据:

1
2
3
axios.get("user.json").then(res=>{
    console.log(res)
})