Vue配置proxy

后台

const express = require('express')
const app = new express()

app.get('/api/news', (req, res) => {
  // res.setHeader("Access-Control-Allow-Origin", '*')
  // res.setHeader("Access-Control-Allow-Headers", '*') //响应所有请求
  // res.setHeader("Access-Control-Allow-Methods", '*') // 支持头信息自定义
  console.log('请求');
  res.send('Hello World66666!')
})
app.get('/api/person', (req, res) => {
  res.send('me is person')
})

app.get('/get/person', (req, res) => {
  res.send('me is get person')
})
app.get('/book', (req, res) => {
  res.send('me is book')
})
app.get('/books', (req, res) => {
  res.send('me is books')
})


app.listen(3000, () => {
  console.log('Server Start');
})

前台配置 proxy

module.exports = {
  devServer: {
    open: true,
    port: 9997,
    // 代理
    proxy: {
      // 拦截以 /api开头的请求
      "/api": {
        // 要跨域的域名 这里写了target的话,axios的baseURL就要取消掉
        target: "http://localhost:3000",
        // 是否开启跨域
        changeOrigin: true,
      },
      "/get": {
        target: "http://localhost:3000",
        changeOrigin: true
      },
      "/data": {
        target: "http://localhost:3000",
        changeOrigin: true,
        // 当接口地址里没有 /data开头 但是前端写了/data/来指定使用代理时,这里使用 ^/data::"/" 可以把前端写的 /data 去掉来发送请求,否则发送的请求是 带有 /data的
        pathRewrite: {
          // '^/data': '/data'   // 这种接口配置出来     http://XX.XX.XX.XX:8083/data/login
          '^/data': '/' //这种接口配置出来     http://XX.XX.XX.XX:8083/login
        }
      },

    }
  }
}

请求示例

const { data: news } = await this.$http.get("/api/news");
console.log("news:", news);
this.msg = news;

const apiPerson = await this.$http.get("/api/person");
console.log("apiPerson:", apiPerson);

const getPerson = await this.$http.get("/get/person");
console.log("getPerson:", getPerson);

const book = await this.$http.get("/data/book");
console.log("book: ", book);

const books = await this.$http.get("/data/books");
console.log("books: ", books);

请求结果

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优雅哥cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值