vue2的webpack(vue.config.js) 怎么使用请求转发 devServer.proxy

首先用 express 搭建后端服务器,注意使用中间件解析json格式的请求体,才会获取到 post 参数

复制代码
app.use(express.json());

app.js

复制代码
const express = require('express')
const app = express()
app.use(express.json());
const port = 3000

app.post('/api/vue2', (req, res) => {
  console.log(req.body)
  res.header('Access-Control-Allow-Origin','*')
  res.send({ss: req.body})
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

node app.js 启动服务

vue.config.js

复制代码
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000'
      }
    }
  }
})

main.js

复制代码
import Vue from 'vue'
import App from './App.vue'
import axios from 'axios'

Vue.config.productionTip = false
Vue.prototype.$axios = axios

new Vue({
  render: h => h(App),
}).$mount('#app')

App.vue

复制代码
export default {
  name: 'App',
  components: {
    HelloWorld
  },
  mounted() {
    console.log('mounted')
    this.$axios({
      method: 'post',
      url: '/api/vue2',
      data: {
        aa: 'test1',
        bb: 'test2'
      }
    }).then(res => {
      console.log('res', res)
    })
  }
}

运行后发现调用成功

相关推荐
军军君014 分钟前
Three.js基础功能学习十四:智能黑板实现实例一
前端·javascript·css·typescript·前端框架·threejs·智能黑板
xiaotao13113 分钟前
JS new 操作符完整执行过程
开发语言·前端·javascript·原型模式
吴声子夜歌25 分钟前
ES6——数组的扩展详解
前端·javascript·es6
guhy fighting34 分钟前
new Map,Array.from,Object.entries的作用以及使用方法
开发语言·前端·javascript
Hello--_--World1 小时前
Vue2的 双端 diff算法 与 Vue3 的 快速diff 算法
前端·vue.js·算法
gongzemin1 小时前
怎么在VS Code 调试vue2 源码
前端·vue.js
烟话61 小时前
Vue3响应式原理【通俗理解】
前端·javascript·vue.js
下北沢美食家1 小时前
JavaScript面试题2
开发语言·javascript·ecmascript
浩星2 小时前
electron系列5:深入理解Electron打包
前端·javascript·electron
英俊潇洒美少年2 小时前
React 实现 AI 流式打字机对话:SSE 分包粘包处理 + 并发优化
前端·javascript·react.js