vue3+vite+axios?配置連接后端調(diào)用接口的實(shí)現(xiàn)方法
在vite.config.ts
文件中添加以下配置
export default defineConfig({ plugins: [vue()], optimizeDeps: { include: ['axios'], }, build: { target: 'modules', outDir: 'dist', assetsDir: 'assets', minify: 'terser' // 混淆器 }, server: { cors: true, open: true, proxy: { '/api': { target: 'http://xxx.xxx.xxx', //代理接口 changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } } })
在本地項(xiàng)目中新建一個(gè)文件夾api
文件夾中編寫以下文件
1.配置axios
(axios.js
)
import axios from "axios" const instance = axios.create({ baseURL: "/api", timeout: 5000, }); // 添加請(qǐng)求攔截器 instance.interceptors.request.use( (config) => { // 在發(fā)送請(qǐng)求之前做些什么 config.headers["Content-type"] = "application/json"; return config; }, (error) => { // 對(duì)請(qǐng)求錯(cuò)誤做些什么 return Promise.reject(error); } ); // 添加響應(yīng)攔截器 instance.interceptors.response.use( (response) => { // 對(duì)響應(yīng)數(shù)據(jù)做點(diǎn)什么 // 隱藏加載圖 // 獲取code const res = response.data; // 返回成功 if (res == 200) { return res; } // token 異常 if (res === 508 || res === 512 || res === 514) { // 登出 清除token緩存 } return response; }, (error) => { // 對(duì)響應(yīng)錯(cuò)誤做點(diǎn)什么 return Promise.reject(error); } ); export default instance;
2.配置請(qǐng)求(request.js
)
import instance from "./axios" const axios = ({ method, url, data, config }) => { method = method.toLowerCase(); if (method == 'post') { return instance.post(url, data, {...config}) } else if (method == 'get') { return instance.get(url, { params: data, ...config }) } else if (method == 'delete') { return instance.delete(url, { params: data, ...config }, ) } else if (method == 'put') { return instance.put(url, data,{...config}) } else { console.error('未知的method' + method) return false } } export default axios
3.配置端口
編寫具體的請(qǐng)求,建議按照項(xiàng)目具體情況分文件編寫
import axios from "./request" //請(qǐng)求示例 //get export const mokeGet = (data) => { return axios({ url: "/getTest", method: "get", data, config: { headers: { 'Request-Type': 'wechat' }, timeout: 3000 } }) } post export const mokePost = (data) => { return axios({ url: "/postTest", method: "post", data, config: { headers: { 'Request-Type': 'wechat' }, timeout: 3000 } }) }
到此這篇關(guān)于vue3+vite+axios 配置連接后端調(diào)用接口的文章就介紹到這了,更多相關(guān)vue3+vite+axios內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WebStorm啟動(dòng)vue項(xiàng)目報(bào)錯(cuò)代碼:1080?throw?err解決辦法
在使用webstorm新建vue項(xiàng)目時(shí)常會(huì)遇到一些報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于WebStorm啟動(dòng)vue項(xiàng)目報(bào)錯(cuò)代碼:1080?throw?err的解決辦法,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12vue實(shí)現(xiàn)圖片滑動(dòng)驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)圖片滑動(dòng)驗(yàn)證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09Vue3項(xiàng)目引入阿里iconfont圖標(biāo)與字體及使用教程
Iconfont國(guó)內(nèi)功能很強(qiáng)大且圖標(biāo)內(nèi)容很豐富的矢量圖標(biāo)庫,提供矢量圖標(biāo)下載、在線存儲(chǔ)、格式轉(zhuǎn)換等功能,下面這篇文章主要給大家介紹了關(guān)于Vue3項(xiàng)目引入阿里iconfont圖標(biāo)與字體及使用教程,需要的朋友可以參考下2023-05-05vue中的render函數(shù)、h()函數(shù)、函數(shù)式組件詳解
在vue中我們使用模板HTML語法來組建頁面的,使用render函數(shù)我們可以用js語言來構(gòu)建DOM,這篇文章主要介紹了vue中的render函數(shù)、h()函數(shù)、函數(shù)式組件,需要的朋友可以參考下2023-02-02