赞
踩
Axios是一个基于promise
的网络请求库,Axios.js.中文文档:https://axios.js.cn/
npm install --save axios
import axios from "axios";
import axios from "axios"; import querystring from "querystring"; // 创建一个axios实例 const service = axios.create({ baseURL: import.meta.env.VITE_BASE_URL, // url = api url + request url withCredentials: true, // 当跨域请求时发送cookie timeout: 5000 // 请求超时时间,5000(单位毫秒) / 0 不做限制 }); // 请求-拦截器 service.interceptors.request.use( config => { if(config.method == 'post') { config.data = querystring.stringify(config.data) } // config包含网络请求的所有信息 return config; }, error => { // 处理请求错误 console.log(error); // for debug return Promise.reject(error); } ) // 响应-拦截器 service.interceptors.response.use( response => { // response包含网络请求响应返回的所有信息 return response.status == 200 ? Promise.resolve(response) : Promise.reject(response); }, error => { // 处理响应错误 console.log(error); // for debug return Promise.reject(error); } ) export default service;
import request from '../axios';
export function getData(data) {
return request({
url: '/xxx',
method: 'post',
data,
baseURL: import.meta.env.VITE_BASE_URL,
});
}
详情请见->配置vite
import { fileURLToPath, URL } from 'node:url' import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig(({ command, mode }) => { // 根据当前工作目录中的 `mode` 加载 .env 文件 // 设置第三个参数为 '' 来加载所有环境变量,而不管是否有 `VITE_` 前缀。 const env = loadEnv(mode, process.cwd(), '') return { // vite 配置 // base:'./', define: { __APP_ENV__: JSON.stringify(env.APP_ENV), }, plugins: [ vue(), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) } }, server:{ proxy: { '/api': { target: 'http://locallhost:8080', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } } } })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。