首页 > 其他分享 >Vue项目的网络请求代理到封装详细步骤

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

时间:2023-04-27 14:44:21浏览次数:35  
标签:axios Vue 封装 请求 步骤 request js api

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.在页面内引入方法,并使用

简单明了

标签:axios,Vue,封装,请求,步骤,request,js,api
From: https://www.cnblogs.com/shengjiangMock/p/17358837.html

相关文章

  • pinia vue3 ts 切换到其他页面后再切回来数据不见了
    piniavue3ts切换到其他页面后再切回来数据不见了刷新有数据,但是切换到其他页面后再切回来数据不见了,我需要切回来后数据还有。因为我的数据是刷新的话就会watch监视数据有没有改变,但是切换其他页面不会触发我应该把得到的数据存储到store里面这样切换其他页面也不会消失......
  • vue3 ts 写搜索联系人功能逻辑
    vue3ts写搜索联系人功能vue<inputtype="text"v-model="search"placeholder="Searchcontacts"><templatev-for="(item,index)infilteredData":key="index">ts!search.value表示如果search.value为空或......
  • html文件中使用vue3+element-plus开发模版
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"content="w......
  • VueHub:我用 ChatGPT 开发的第一个项目,送给所有 Vue 爱好者
    大家好,我是DOM哥。我用ChatGPT开发了一个Vue的资源导航网站。不管你是资深Vue用户,还是刚入门想学习Vue的小白,这个网站都能帮助到你。网站地址:https://dombro.site/vue#/vue纯净模式:https://dombro.site/spa/#/vue项目托管在GitHub,访问不了的可以私信我哟,包教包会V......
  • vue中实际代码模拟JS中promise调接口的运行流程
    假设我们有一个需要调用接口的场景,我们可以使用Vue中的axios库来发送请求。以下是一个简单的例子://引入axios库importaxiosfrom'axios'//定义一个函数,用于发送请求functionfetchData(){//返回一个Promise对象returnnewPromise((resolve,reject)=>{//发......
  • 安装多个NodeJS windows上安装多个Nodejs版本 解决vue2/vue3同时运行
    第一步下载nvm-windowsnvm-windows下载地址:Github最新下载地址进入之后直接下载第二步安装NVM注意路径一定不要包含空格中文否则会报错注意安装路径一定不要包含空格中文否则会报错 点击安装之后如果之前安装了nodejs的话会提示希望nvm管理已安装node版本吗点击是......
  • vue2与vue3的区别
    一.vue2和vue3双向数据绑定原理发生了改变vue2的双向数据绑定是利用ES5的一个APIObject.definePropert()对数据进行劫持结合发布订阅模式的方式来实现的。vue3中使用了es6的ProxyAPI对数据代理。相比于vue2.x,使用proxy的优势如下defineProperty只能监听某个属性,不......
  • Vuex
    vuexVuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。说人话:将组件中需要共享的数据交给vuex来帮我们进行管理,例如:用户登录状态、加入购物车。1.案例:登录vuecreatevxdem......
  • vue 前端生成二维码,并转换为图片
    vue前端生成二维码,并转换为图片~牧马~于2021-05-2715:08:03发布2760收藏7分类专栏:vue文章标签:vue生成二维码自动生成的二维码转图片版权这篇文章主要是分享下自己的收获,也是自己遇到的问题:前端如何自己生成二维码?前端如何将生成的二维码转成图片并展示?......
  • 无界微前端方案官方示例,main-vue 项目打包之后 访问index.html页面空包,控制台报资源错
    报错信息: 修改方案: publicPath:“./”修改为如上配置即可。......