vue3 vite+axios 代理配置和axios封装(请求404bug解决)

axios封装

根据不同项目叠加需求

import axios from 'axios'

// export 将 service 传出去
export const service = axios.create({
	// baseURL: process.env.VUE_APP_BASE_API, //变量地址
	baseURL:'api_v3', //重点,此处与代理保持一致!!!!
	timeout: 30000, 
	withCredentials: true, // 异步请求携带cookie
	headers: {
			// 设置后端需要的传参类型
			'Content-Type': 'application/json',
			'token': 'your token',
			'X-Requested-With': 'XMLHttpRequest',
		},
})

// request interceptor
service.interceptors.request.use(
	function (config) {
		// 在发送请求之前做些什么
		return config
	},
	function (error) {
		// 对请求错误做些什么
		console.log(error)
		return Promise.reject(error)
	}
)

// 拦截器
service.interceptors.response.use(
	function (response) {
			console.log(response)
			// 2xx 范围内的状态码都会触发该函数。
			// 对响应数据做点什么
			// dataAxios 是 axios 返回数据中的 data
			const dataAxios = response.data
			// 这个状态码是和后端约定的
			const code = dataAxios.reset
			return dataAxios
		},
		function (error) {
			// 超出 2xx 范围的状态码都会触发该函数。
			// 对响应错误做点什么
			console.log(error)
			return Promise.reject(error)
		}
)

配置代理

在根目录创建vite.config.js文件

const path = require('path')

module.exports = {
    hostname: '0.0.0.0',
    port: 3000,
    // 反向代理
	proxy: {
		'/api_v3': {
			target: 'http://XXXX.cn',
			changeOrigin: true,
			// rewrite: path => path.replace(/^\/api_v3/, '')该写法俺的项目出错了!!,找了非常久的原因,换回以前的
			pathRewrite: {
			  // 路径重写
			  '/api_v3': '' // 用'/api'代替target里面的地址
			}
		}
	}
    
}

单页面使用

import {service } from '../request/http' 

function get_data() {
		service.get('/XXXX.php').then(res=>{
		
		})
	}
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Vue3 是一个流行的 JavaScript 框架,它的核心是响应式编程和组件化开发的思想。Vite 是一个用于快速构建现代化前端应用的构建工具,它基于 ESModules 和原生 ES2015+ 语法实现了一种新的开发模式。Axios 是一个流行的基于 Promise 的 HTTP 客户端,它被广泛用于前端和后端的数据请求和交互。 Vue3 和 Vite 的结合使用可以带来更好的开发体验和性能优化。Vue3 的响应式系统经过重新设计和优化,使得响应式数据变更的检测和更新更加高效。在 Vite 的开发模式下,Vue3 可以利用模块的特性进行优化,可以更快地加载和热更新组件,提高开发效率。Vite 还支持按需编译,只编译被用到的模块,减少不必要的编译时间和资源消耗。 Axios 是一个功能强大的 HTTP 客户端,它可以在浏览器和 Node.js 中运行。Axios 提供了易于使用且一致的 API,可以轻松地发送异步请求并处理响应。Vue3 和 Axios 的结合可以使得在 Vue3 应用中进行数据请求更加方便和灵活。可以将 Axios 集成到 Vue3 的组件中,并在需要的时候发送请求并更新响应数据。Vue3 的响应式系统可以自动检测到数据变更,并更新视图,使得数据和视图保持同步。 综上所述,Vue3、ViteAxios 的组合可以为我们提供更好的开发体验和性能优化。Vue3 提供了响应式编程和组件化开发的思想,Vite 提供了快速构建现代化前端应用的能力,而 Axios 则为我们提供了方便的数据请求和交互。 ### 回答2: Vue3是Vue.js的最新版本,具有更高的性能和更好的开发体验。Vite是一个面向现代浏览器的构建工具,专注于开发时的快速冷启动和热模块替换。而Axios是一个基于Promise的HTTP客户端,可以在浏览器和Node.js中发送异步HTTP请求Vue3和Vite是互补的工具。Vue3的新特性和优化可以提供更好的性能和开发体验,而Vite则可以让开发者更快地启动应用程序和热加载模块。Vite使用了ES模块的优势,可以实现快速的启动和重载,并且支持按需构建,只构建需要的模块,减少了开发中的不必要的构建时间。 Axios是一个常用的HTTP客户端库,可以与Vue3和Vite结合使用。Axios可以方便地发送HTTP请求,并处理响应数据。Axios支持Promise API,可以使用async/await进行异步处理,使代码更加简洁和易于阅读。通过使用Axios,我们可以在Vue3和Vite中轻松地与后端API进行通信,获取数据并更新应用程序的状态。 总结来说,Vue3提供了更好的性能和开发体验,而Vite可以提供快速的启动和热模块替换功能。Axios则是一个方便的HTTP客户端库,可以与Vue3和Vite一起使用,方便地进行后端API通信。通过结合使用这些工具,我们可以高效地进行前端开发,提升开发效率和用户体验。 ### 回答3: Vue3是一种现代化的JavaScript框架,用于构建用户界面。它具有快速、易于上手和可扩展的特点。Vite是一个基于ES模块的开发构建工具,它可以快速启动项目,并具有快速热重载和即时开发的能力。Axios是一个基于Promise的HTTP客户端,它可以在浏览器和Node.js中发送HTTP请求Vue3和Vite的结合是非常强大的。Vite在开发过程中能够提供快速的热重载和即时开发的能力,使开发者可以更加高效地进行代码调试和预览。而Vue3提供了一种声明式的语法来构建用户界面,使代码更具可读性和可维护性。 在使用Vue3和Vite进行开发时,我们可以使用Axios作为HTTP客户端来发送请求Axios提供了丰富的功能,例如发送GET、POST请求、设置请求头、处理请求错误等。我们可以在Vue3组件内部使用Axios来发送请求,并将返回的数据展示在页面上。 使用Axios发送请求的步骤如下: 1. 在项目中安装Axios:可以使用npm或yarn来安装Axios。 2. 在Vue3组件中引入Axios:使用import语句将Axios库引入到组件中。 3. 在组件中使用Axios发送请求:可以使用Axios的方法,例如get、post等,来发送HTTP请求。 4. 处理返回的数据:Axios会返回一个Promise对象,我们可以使用then方法来处理返回的数据。 通过使用Vue3、ViteAxios,我们可以快速构建现代化的Web应用程序。它们的结合可以提供更好的开发体验和更高的开发效率。无论是开发小型项目还是大型项目,Vue3、ViteAxios都是很好的选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值