首页 > 其他分享 >VUE 封装axios

VUE 封装axios

时间:2024-11-13 17:57:01浏览次数:1  
标签:VUE 封装 features settings token axios import config

	axios官方介绍:https://www.axios-http.cn/docs/intro
	node.js安装: npm install axios
封装一个配置文件
const instance = axios.create({
  baseURL: 'https://some-domain.com/api/',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

新起了一个vue 项目

? Please pick a preset: Manually select features
? Please pick a preset: Manually select features
? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> 
? Check the features needed for your project: Babel, Router, Vuex
? Choose a version of Vue.js that you want to start the project with 3.x
? Use history mode for router? (Requires proper server setup for index fallback in production) 
? Where do you prefer placing config for Babel, ESLint, etc.? In package.json
? Save this as a preset for future projects? No
? Check the features needed for your project: Babel, Router, Vuex
? Choose a version of Vue.js that you want to start the project with 3.x
? Use history mode for router? (Requires proper server setup for index fallback in production) 
? Where do you prefer placing config for Babel, ESLint, etc.? In package.json
? Save this as a preset for future projects? No
#注册了settings
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import  settings from '@/settings'
const app = createApp(App)
app.use(store).use(router).mount('#app')
app.config.globalProperties.$settings = settings
settings 配置
// export default{
//     host:'localhost/'
// }

配置VUE

参考

https://blog.csdn.net/xiaojinlai123/article/details/90699565 Vue 环境变量和模式(设置通用baseUrl)

#tmd  从来没学过前端 先从newbing上抄一段,后面有需求再改
import axios from 'axios';

// 创建 Axios 实例
const request = axios.create({
    baseURL: process.env.baseUrl, // 这里填写你的API基础路径
    timeout: 10000, // 请求超时时间
    headers: {
        'Content-Type': 'application/json'
    }
});

// 请求拦截器
axiosInstance.interceptors.request.use(
    config => {
        // 在发送请求之前做些什么,例如添加token
        const token = localStorage.getItem('token');
        if (token) {
            config.headers.Authorization = `Bearer ${token}`;
        }
        return config;
    },
    error => {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 响应拦截器
axiosInstance.interceptors.response.use(
    response => response,
    error => {
        // 对响应错误做些什么
        return Promise.reject(error);
    }
);

export default axiosInstance;

标签:VUE,封装,features,settings,token,axios,import,config
From: https://www.cnblogs.com/anessalex/p/18543710

相关文章

  • Vue网站发布到iis后提示404页面不可访问
    vue重定向和跨域配置:https://zhuanlan.zhihu.com/p/5306882511.安装组件:URLRewrite:https://www.iis.net/downloads/microsoft/url-rewriteApplicationRequestRouting:https://www.iis.net/downloads/microsoft/application-request-routing2.新建一个web.config放到发布到文件......
  • 揭秘!Vue3.5响应式重构如何让内存占用减少56%
    前言Vue3.5版本又将响应式给重构了,重构后的响应式系统主要有两部分组成: 双向链表和版本计数。我们在前两篇文章中我们已经讲过了,这篇文章我们来讲讲为什么这次重构能够让内存占用减少56%。为什么说“又”将响应式重构了因为在之前的Vue3.4版本中刚刚将响应式给重构了,这......
  • 【vue2】14.插槽
    目录插槽-默认插槽插槽基本语法:插槽-后备内容(默认值)插槽-具名插槽插槽-作用域插槽插槽-默认插槽作用:让组件内部的一些结构支持自定义需求:将需要多次显示的对话框,封装成一个组件问题:组件的内容部分,不希望写死,希望能使用的时候自定义。怎么办?插槽......
  • vue3开发扫雷游戏,支持调整难度,支持计时
    闲来练习练习js,写了个扫雷游戏,直接拿去复制粘到自己本地某个html文件里就能运行,记得把vue加载地址改成线上的~~有空了可以再加上计分板运行起来长下面这样 直接上代码 1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<met......
  • (系列十一)Vue3框架中路由守卫及请求拦截(实现前后端交互)
    说明  该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。   该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。   说明:OverallAuth2.0是一个简单、易懂、功能强大的权限+可视化流程管理系统。友情提醒:本篇文章是属于系......
  • 网页全终端安防视频流媒体播放器EasyPlayer.js无插件H5播放器包含的直播协议支持(封装
    EasyPlayer.jsH5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方式,支持Windows、Linux、Android、iOS全平台终端的H5播放器,使用简单......
  • Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】
    下面是项目级完整配置1➡eslint:【吐血分享,博主踩过的坑你跳过去!!跳不过去?太过分了给博主打钱】浏览器自动打开项目:你想释放双手吗?你想每天早上打开电脑运行完项目自动在浏览器打开吗?不要9998,不要998,只要你在我们爱的package.json中配置一下即可显示。如下图所示:是的......
  • vue3使用tsParticles实现爆开五彩碎纸屑动效,简单高效免费(撒花特效、粒子效果)
    实现效果:tsParticles|ConfettiPreset|JavaScriptParticles,ConfettiandFireworksanimationsforyourwebsitetsParticles-Easilycreatehighlycustomizableparticles,confettiandfireworksanimationsandusethemasanimatedbackgroundsforyourweb......
  • 微信小程序 nodejs+uniapp+vue个人身体健康系统184bw
    目录课题介绍具体实现截图使用技术介绍解决的思路开发工具和技术简介错误处理和异常处理nodejs类核心代码部分展示源码获取/联系我课题介绍实现了一个完整的身体健康系统,其中主要有运动推荐模块、用户事务模块、用户分享模块、用户模块、饮食推荐模块、消息提醒模块......
  • 【小程序】封装网络请求request模块
    一、封装request请求因为我把所有项目中的接口也封装到了一个文件中,所以我建了一个services的文件夹,在下面建了一个request.js在这个里面做了请求拦截器和响应拦截器,constapiConfig=require('../config/baseUrl.js');classhttpClient{prefixUrl='';const......