vue搭建项目(一):axios的使用

vue-axios使用 axios使用 阅读详情

一、项目使用axios
1.安装axios

npm install --save axios

2.axios二次封装
对axios进行二次封装主要是为了设置请求拦截器(在请求发出之前做一些事情)和响应拦截器(在数据返回之后,做一些事情)
2.1.src下创建一个文件夹专门用来装所有请求的js文件 src/api/request.js
request.js

//对于axios进行二次封装
import axios from "axios";
//底下的代码也是创建axios实例
let requests = axios.create({
  //基础路径
  baseURL: "/local",//对应vue.config文件里面的proxy代理
  //请求不能超过5S
  timeout: 5000,
});
 
//请求拦截器(可以在请求发出去之前,做一些事情)
requests.interceptors.request.use((config) => {
config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
  return config;
}, error => {
  Promise.reject(error)
}))
 
//响应拦截器(在数据返回之后,做一些事情)
requests.interceptors.response.use(
  (res) => {
    //响应成功
    return res.data;
  },
  (err) => {
    //响应失败
    alert("服务器响应数据失败");
  }
);
export default requests;

3.配置代理服务器:在vue.config中配置(devServer.proxy部分)
vue.config 完整配置参考文档最下面链接


const CompressionPlugin = require('compression-webpack-plugin')

const name =  '配电监测' // 网页标题

// vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档
module.exports = {
  // 部署生产环境和开发环境下的URL。
  // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
  // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
  // publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
  // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
  outputDir: 'dist',
  // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
  assetsDir: 'static',
  // 是否开启eslint保存检测,有效值:ture | false | 'error'
  // lintOnSave: process.env.NODE_ENV === 'development',
  lintOnSave: false,
  // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  // webpack-dev-server 相关配置
  devServer: {
    host: '0.0.0.0',//指定使用的ip地址,默认为localhost,如果使用'0.0.0.0'则可以被外部访问
    port: '8080',
    open: true,
    proxy: {
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      'local': {
         target: `http://10.100.10.54:18080`,//测试服
        //target: `https://icp.minexiot.com/prod-api`,//正式服
        // target: `http://172.16.201.59:18080`,
        changeOrigin: true,
       // pathRewrite: {
       //  ['^' + process.env.VUE_APP_BASE_API]: ''
       // }
      }
    },
    disableHostCheck: true
  },
  css: {
    loaderOptions: {
      sass: {
        sassOptions: { outputStyle: "expanded" }
      }
    }
  },
  configureWebpack: {
    name: name,
    resolve: {
      alias: {
       '@': path.resolve(__dirname, 'src')
      }
    },
    plugins: [
      // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
      new CompressionPlugin({
        cache: false,                   // 不启用文件缓存
        test: /\.(js|css|html)?$/i,     // 压缩文件格式
        filename: '[path].gz[query]',   // 压缩后的文件名
        algorithm: 'gzip',              // 使用gzip压缩
        minRatio: 0.8                   // 压缩率小于1才会压缩
      })
    ],
  },
  chainWebpack (config) {
    config.plugins.delete('preload') // TODO: need test
    config.plugins.delete('prefetch') // TODO: need test

    // set svg-sprite-loader
    config.module
      .rule('svg')
      .exclude.add(resolve('src/assets/icons'))
      .end()
        }
      )
  }
}

4.使用
在api文件下创建一个新的文件夹方便管理接口 src/api/common/index.js

import request from '@/api/request' 

// 获取所有下拉菜单type
export const getType = () => {
  return request({
    url: '/selects/types',
    method: 'get',
  })
}

// 根据type获取下拉列表数据
export const getTypeOption = (type) => {
  return request({
    url: '/selects',
    method: 'get',
    params: {type:type}
  })
}

vue页面使用:

import { getTypeOption } from "@/api/common/index";//引入

getTypeOptions() {
      getTypeOption("OperationAction").then((res) => {
        if (res.code == 200) {
          //成功操作
        }
      });
    },

参考/其他:
VUE项目中引入axios
VUE中axios的使用
Vue.conifg.js完整配置项
Vue项目中svg的使用

Vue实战之axios基本使用 1、Axios 基本使用 2、Vue 生命周期 3、Vue 中组件(component) 4、Vue 中路由(Vue Router) 5、Vue CLI 脚手架 6、在脚手架中使用 axios 阅读详情

相关推荐

记录一个自己的Axios实例,以供参考

本文主要是写一下关于Axios的一些配置问题,每个人都有自己的一套标准,我现在就将自己比较常用的代码写下,也供被人做参考。

胡世林的博客 1389

vue中axios的使用

vue中axios的使用

lightoneone的博客 1万+

07 基于Vue+Less+axios封装+ElementUI搭建项目底层支撑实战

本小节包括Less的安装,可能会遇到的问题,安装后的初步验证;axios的安装,初步使用,以及基于内聚性和耦合性做一些封装以及功能拆解;ElementUI的安装,验证等等

xingyu_qie的专栏 4316

Vue中axios的基本使用

首先简单了解什么是Axios? Axios是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范。 关于axios的特点,可以查看axios中文文档,还可以了解一下axios, ajax和fetch的详细比较内容。 接下来开始安装axios,在项目目录下执行npm i axiosvue-axios(不同的node版本,成功后的提示不同) 安装成功后进行引入,在项目目录下src文件..

Asafoetida的博客 4万+

前后端分离项目,Vue使用Axios发送异步请求

第一种,通过vue-cli 脚手架工具搭建的前端项目。

qq_45155769的博客 411

unity人物刚体移动_Unity3D实现2D人物移动-总结篇

背景最近研究Unity3d,2d寻路的实现。所以又一次涉及到了角色坐标位移的问题。系统的对于角色鼠标点击移动这个简单问题进行整理和总结。本来就是一个简单的几何问题,结果发现已经有两个小坑,顺便填上,这里做下总结。实现需求:通过鼠标点击,控制2d角色移动,就是点哪里,角色向移动到哪里问题分解:按照时间进行动画分解,鼠标输入(动画开始)、平移(动画进行)、移动结束(动画结束)前提:这里前面的文章基本解...

weixin_39610366的博客 1277

vue+axios+element-ui实战(一)--使用Vue CLI 搭建项目

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,使用 Vue CLI 可以快速创建 vue 项目。 一、安装node.js 使用Vue CLI首先需要安装node环境,可以到中文官网进行下载安装:https://nodejs.org/en/download/ 安装完成后,打开命令窗口,输入命令node -v,可以检查node的版本,输入npm -v检查npm 的版本: ...

hxf6060的博客 3709

保姆级教程:用Unidbg搞定阿里系App的x-sign和长x-mini-wua签名(附完整Java代码)

本文详细介绍了如何使用Unidbg框架模拟执行阿里系App的原生库,生成关键的x-sign和x-mini-wua签名参数。通过完整的Java代码示例和实战技巧,帮助开发者高效实现签名算法,适用于安全研究、数据分析和第三方应用开发场景。

weixin_29243279的博客 489

Vue+Router+Webpack+Axios 构建项目实战(一)项目搭建

 欢迎各位朋友!    一、准备工作: 下载node.js 安装webpack与vue-cli(VUE的脚手架工具) 1、安装node.js 网址:http://www.runoob.com/nodejs/nodejs-install-setup.html node安装完成后在终端中输入以下两个命令: node -v npm -v 若显示版本号则说明...

DreamBoy 402

Docker “docker login“ 失败? 登录阿里云镜像仓库仓库 unauthorized: authentication required

文章目录听说你 login fail?来,让我们解决一下!登录,撒花 听说你 login fail? 美滋滋的在服务器上安装完成Docker应用,开始配置阿里云镜像加速?然后被阿里云官方文档蹂躏?别急别急,让我来拯救你。 我们先来看看 阿里云官方文档 Docker镜像基本操作: 好家伙,emmm… 上来直接就Login Succeeded,这不简直so easy?我们也来照着操作操作: docker@default-online:~$ docker login registry.cn-hangzhou.a

zhuzicc的博客 1万+

手把手教你用NetToPLCsim搭建西门子S7-1200仿真环境(附避坑指南)

本文详细指导如何利用NetToPLCsim与PLCSIM搭建西门子S7-1200仿真环境,实现无硬件条件下的PLC程序测试与上位机通信开发。内容涵盖软件选型、环境部署、关键参数配置及通信测试,并重点提供了连接失败、数据读写错误等常见问题的深度避坑指南,帮助工程师高效构建可靠的虚拟调试工作流。

a3b4c5的博客 615

Vue2+VueRouter3+Webpack3.6+Axios项目实战----项目搭建(一)

使用vue2开发项目都有1年多了,但一直忙于开发也没时间进行一次全面的总结,今天公司任务完成的差不多,心血来潮想对这一年多的项目成果进行一次全面的重构,顺便把vue2的使用过程进行一次详细的记录。 第一步:安装node(略) 第二步:安装npm(略) 第三步:安装vue-cli: vue-cli是vue脚手架,也就是用来构建vue项目的工具 打开cmd进入命令模式:输入以下命令 ...

飞天代码的博客 681

STM32入门教程:WiFi通信

STM32是一款强大的嵌入式系统开发平台,可以用于开发各种应用程序,包括WiFi通信。在本教程中,我们将介绍如何使用STM32开发板和WiFi模块进行无线通信。以下是一个详细的代码案例,涵盖了WiFi通信的基本概念和实现。

qq_67153941的博客 1350

Vue 中使用 Axios

通常在src目录中创建一个utils文件夹用于存放封装好的axios。二、vue 中axios 接口的封装方式2(多接口管理)二、vue 中axios 接口的封装方式1。,特别是在不同环境中的域名更改时。

FOR.GET 1490

科研牛马千万不要错过!手把手教你用AI精准匹配真实参考文献,仅需一个专业应用+两个提示词指令

当然也可以借助生成式AI,如GPT-5.2、Gemini 3 Pro粘贴段落,输入设计好的提示词,让模型根据段落内容匹配参考文献,并正确引用到段落合适位置,再按规范格式输出参考文献列表。阅读我提供的【正文文本】,为其中的关键论点寻找真实的、权威的参考文献(优先来源于Nature, Science, IEEE, ACM, PubMed等),并插入引用。若在段落中已经引用好了参考文献,也有参考文献列表,担心引用位置不当或论点、论述逻辑与文献不够契合,则可以用以下结构化提示词,让AI辅助审查。

智能AI让学术科研更容易 1033

Unity零基础到进阶 ☀️| Unity中的 GC及优化 超级全面解析 ☆(ゝω・)v 建议收藏!

介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。 Unity中将垃圾回收当作内存管理的一部分,如果游戏中废弃数据占用内存较大,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。 本文我们主要学习垃圾回收的机制,垃圾回收如何被触发以及如何提GC收效率来提高游戏的性能。 Unity内存管理机制简介 要想了解垃圾回收如何工作以及何时被

努力前行,总会成为自己心中的那道光 6万+

VUE+ElementUI 搭建后台项目(一)

前言 之前有些过移动端的项目搭建的文章,感觉不写个pc端管理系统老感觉少了点什么,最近公司项目比较多,恰巧要做一个申报系统的后台管理系统,鉴于对vue技术栈比较熟悉,所以考虑还是使用vue技术栈来做;看过一个不错的后台配置模板(vue-element-admin),页面也挺美的,但是还是碍于不想看太多关于这个模板的配置说明,于是又拉出来之前我搭建的简易版的模板,决定重构下,使用自己搭建的后台系统...

weixin_30383279的博客 199

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

vue项目中axios使用(一):axios基本使用方法及相关配置介绍

在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource。 关于为什么放弃推荐? -> 尤雨溪解释: 最近团队讨论了一下,Ajax 本身跟 Vue 并没有什么需要特别整合的地方,使用 fetch polyfill 或是 axios、superagent 等等都可以起到同等的效果,vue-resource 提供的价值和其维护成本相比并不划算,所以决定在不久以后取消对 vue-resource 的官方

xiaoge_586的博客 6万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【Axios】如何在Vue中使用Axios请求拦截器

在Vue项目中,Axios是一个非常流行的HTTP客户端,用于发送请求和接收响应。Axios拦截器是Axios的一个强大功能,它允许你在请求发送之前和响应返回之后对请求和响应进行处理和拦截。通过拦截器,你可以添加请求头、处理请求参数、处理错误等。

景天科技苑 6万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【Vue axios】vue中如何通过axios异步请求后端接口

在现代Web开发中,前端与后端的数据交互至关重要。Vue.js作为一款流行的前端框架,结合Axios库能够高效地实现HTTP请求与数据处理。本文将详细讲解如何在Vue 3中使用Axios,并通过实际案例展示其用法。

景天科技苑 6万+

vue中axios的二次封装——vue 封装axios详细步骤

通常我们的项目会越做越大,页面也会越来越多,如果页面非常的少,直接用axios也没有什么大的影响,那页面组件多了起来,上百个接口呢,这个时候后端改了接口,多加了一个参数什么的呢?那就只有找到那个页面,进去修改,整个过程很繁琐,不易于项目的维护和迭代。这个时候如果我们统一的区管理接口,需要修改某一个接口的时候直接在api里修改对应的请求,是不是很方便呢?因为我们用的最多的还是get post请求,我们就可以针对封装。

Vivien_CC的博客 3万+

一、构建vue+elementUI+axios前端项目

前端项目

daimaowang12138的博客 2458

【axios】Vue项目中封装和使用axios

【axios】Vue项目中封装和使用axios

weixin_43790653的博客 5382

vue项目中引入axios及使用

vue项目中引入axios及使用 一,下载依赖 $ npm install axios --save 二,引入依赖并全局注册 import axios from ‘axios’ Vue.prototype.$axios = axios //全局注册,使用方法为:this.$axios 三,配置config文件 (1) ,通过webpack初始化的项目 在config文件夹中的index.j...

marslover521的博客 6万+

Vue3中使用axios

此时package.json里面就多了axios依赖。

2301_80412275的博客 1万+
上一篇: js 日期格式化 yyyy-mm-dd hh:ss
下一篇: vue搭建项目(二)token相关
一个打工仔的笔记
博客等级 码龄6年 1904粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值