Vue项目的网络请求代理到封装详细步骤

1.创建vue项目

vue create demo

demo是项目名称

2.安装axios 

进入demo里面打开终端(黑窗口),执行

npm install axios

3.进行config.js配置

  devServer: {
    host: "0.0.0.0", // 是否可以被覆盖
    port: 8090, // 配置本地端口号
    open: true,
    //解决跨域问题
    proxy: {
      // 正式
      "/api": {
        target: "http://IP地址:端口号/",
        changeOrigin: true,
        secure: false, // 如果是https接口,需要配置这个参数
        pathRewrite: {
          "^/api": "",
        },
      },
      },
    },
  },

4.main.js里引入

//http封装请求
import axios from "axios";
axios.defaults.baseURL = "/api";
axios.defaults.headers = //公共携带请求头
//大部分是 "Content-Type:application/json;charset=UTF-8"
axios.defaults.withCredentials = true;

5.src目录下新建Utils文件夹,在内封装request.js

import axios from "axios";//引入axios
const request = axios.create({//进一步封装axios
  baseURL: "/api",//配置跟路由
  timeout: 5000,//配置请求超时时间
});

//添加请求拦截器
request.interceptors.request.use(function (config) {}
//添加响应拦截器
request.interceptors.request.use((res) => {
  return res;
}),
  (err) => {
    return Promise.reject(err);
  };

export default request;
//暴露出去

6.以login路由为示例  src文件下新建api文件,在api内新建login.js

import request from "@/utils/request"; // 引入request
// 登录
export const UserLogin = (params) => {//封装login请求
  return request({
    url: "/login",//请求地址
    method: "post",//请求方式
    data: params,//请求体
  });
};

7.在页面内引入方法,并使用

简单明了

热门相关:帝少的专属:小甜心,太缠人   夫人你马甲又掉了   战神   惊世毒妃:轻狂大小姐   战神