vite+vue3+ts+axios封装

// main.ts
import { createApp } from 'vue';
import App from './App.vue';
import axios from 'axios';
import { setupAxios } from './utils/api';
const app = createApp(App);
setupAxios(axios);
app.mount('#app');

您可以在utils/api.ts文件中添加其他HTTP方法和相应的参数,例如:

// utils/api.ts

import axios, { AxiosInstance } from 'axios';

export let $axios: AxiosInstance;

export function setupAxios(axiosInstance: AxiosInstance) {
  $axios = axiosInstance;
}

export function post(url: string, data: any) {
  return $axios.post(url, data);
}

export function get(url: string) {
  return $axios.get(url);
}

export function put(url: string, data: any) {
  return $axios.put(url, data);
}

export function del(url: string) {
  return $axios.delete(url);
}

您可以在其他地方使用封装好的API函数:

// Example.vue

<script lang="ts">
import { defineComponent, ref } from 'vue';
import { post } from './utils/api';

export default defineComponent({
  setup() {
    const response = ref('');
    const handleSubmit = async () => {
      const res = await post('https://example.com/api', { name: 'John Doe' });
      response.value = res.data;
    };
    return {
      response,
      handleSubmit,
    };
  },
});
</script>

此示例中的API函数只是基本的封装示例,您可以根据您的需求修改和定制。

以下是使用Vue3、TypeScript、Vite、Element Plus、Router和Axios进行请求封装,并配置开发环境、测试环境和生产环境的步骤: 1. 首先,确保你已经安装了Node.js和npm。 2. 创建一个新的Vue项目,并选择Vue3作为模板: ```shell npm create vite@latest my-project cd my-project npm install ``` 3. 安装所需的依赖包: ```shell npm install vue-router@next axios element-plus npm install --save-dev @types/node ``` 4. 在项目根目录下创建一个`.env`文件,用于配置不同环境的变量。在该文件中,可以定义不同环境下的API地址等配置信息。例如: ``` # 开发环境 VITE_API_BASE_URL=http://localhost:3000/api # 测试环境 VITE_API_BASE_URL=http://test.example.com/api # 生产环境 VITE_API_BASE_URL=http://api.example.com/api ``` 5. 创建一个`src/api`文件夹,并在其中创建一个`request.ts`文件,用于封装请求。在该文件中,可以使用Axios发送请求,并根据不同环境的配置获取API地址。例如: ```typescript import axios from 'axios'; const instance = axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL, timeout: 5000, }); export const get = (url: string, params?: any) => { return instance.get(url, { params }); }; export const post = (url: string, data?: any) => { return instance.post(url, data); }; ``` 6. 在`src/router`文件夹中创建一个`index.ts`文件,用于配置路由。在该文件中,可以定义路由的路径和对应的组件。例如: ```typescript import { createRouter, createWebHistory } from 'vue-router'; import Home from '../views/Home.vue'; const routes = [ { path: '/', name: 'Home', component: Home, }, // 其他路由配置... ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router; ``` 7. 在`src/main.ts`文件中,引入所需的依赖,并配置Vue应用。例如: ```typescript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App) .use(router) .mount('#app'); ``` 8. 在`src/App.vue`文件中,使用Element Plus组件和路由进行页面渲染。例如: ```html <template> <div> <router-view></router-view> </div> </template> <script> import { defineComponent } from 'vue'; export default defineComponent({ name: 'App', }); </script> <style> /* 样式 */ </style> ``` 9. 运行开发环境: ```shell npm run dev ``` 10. 在浏览器中访问`http://localhost:3000`,即可看到Vue应用的页面。 11. 根据需要,在`src/views`文件夹中创建其他页面组件,并在路由配置中添加对应的路径和组件。 12. 根据需要,在`src/components`文件夹中创建其他组件,并在页面组件中引入和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值