创建vue3+TS+vite项目后,安装配置axios

简单记录一下创建项目常用的步骤

一、创建项目

1.创建项目,输入项目名,并选择vue   ->   TypeScript ,创建完成

npm creat vite@latest

二、安装配置axios

先安装axios

npm install axios

1.配置封装axios(request.ts文件)

//  配置封装axios 请求
//  引入axios 
import axios from "axios";
//引入element plus
import { ElMessage } from "element-plus";

// 跨域请求,允许保存cookie
axios.defaults.withCredentials = true;

const instance = axios.create({
    // 配置公共请求地址
    baseURL: '/api',
    // 配置请求时长 (当请求超过该时间,则自动中断请求)
    timeout: 50000,
    // 配置请求头(只针对post 请求有效)
    headers: { 'Content-Type': 'application/json' }

});

// 添加一个请求拦截器
//3.请求拦截    登陆放token的地方
instance.interceptors.request.use(config => {
    // config.headers['Authorization'] =getCookie('token')
    config.headers['Access-Control-Allow-Origin'] = '*'
    return config
})
// 添加一个响应拦截器
instance.interceptors.response.use(
    (res) => {
        if (res.status === 200 || res.data.code == 200) { 
            return res.data
        } else {
            ElMessage.error('请求失败')
        }
    },
    (err) => {
        //全局错误提示
        ElMessage.error(err.message)
        // if (err.response.status === 404) {
        //根据需求判断不同错误信息返回不同信息
        // }
        return Promise.reject(err);  //将错误消息挂到promise的失败函数上
    },

)
export default instance

2.配置公共请求地址(vite.config.ts)

import { defineConfig } from 'vite'
import { resolve } from 'path' 
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  server:{
    open:true, //自动打开
    proxy: {
      '/api': {
        target: 'http://172.16.0.21/', //跨域地址
        changeOrigin: true, //是否允许跨域
        rewrite: (path) => path.replace(/^\/api/, ""), //重写路径
      }
    },
  },
 //设置文件路径/src别名为@
  resolve:{
    alias:[
      {
        find: '@',
        replacement:resolve(__dirname,'./src')
      }
    ]
  },
})

3.定义接口请求(http.ts)

import instance from "@/utils/request.ts";
// 定义接口请求
// 登录
export const loginCode = (params: any) => {
    return instance({
        method: 'GET',
        url: '/auth/image_code',
        responseType: 'blob',  //用于数据是二进制数据,像是验证码、文件下载
        params
    })
}
// 登录
export const login = (data: any) => {
    return instance({
        method: 'POST',
        url: '/auth/login',
        data
    })
}

进行接口测试

注意:如果不配置node,console.log就不能用,可以安装第三方插件

npm i -D @types/node
<template>
    <div>
        登录
    </div>
</template>
<script setup lang="ts">
import {loginCode} from '@/utils/http.ts'
import {onMounted} from 'vue'
const getCodeImg=()=>{
      const params = {
        code_id: "8c97beec-4b39-420c-8ffb-89d9e9a18310",
      };
      loginCode(params)
        .then((res) => {
          console.log("成功", res);
        })
        .catch(() => {
          console.log("失败 ",err);
        });
    }
onMounted(()=>{
    getCodeImg()
})
</script>

<style lang="scss" scoped>

</style>

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用Vue3 + TypeScript + Vite + Element Plus + Router + Axios搭建前端项目框架的步骤: 1. 首先,确保你已经安装了Node.js和npm。你可以在命令行中运行以下命令来检查它们的版本: ```shell node -v npm -v ``` 2. 创建一个新的项目文件夹,并在该文件夹中打开命令行。 3. 在命令行中运行以下命令来初始化一个新的Vite项目: ```shell npm init vite ``` 在初始化过程中,你需要选择Vue作为模板,选择TypeScript作为语言,并填写项目名称。 4. 进入项目文件夹,并安装所需的依赖: ```shell cd your-project-name npm install ``` 5. 安装Vue Router、Vuex和Axios: ```shell npm install vue-router@next vuex@next axios ``` 6. 在项目文件夹中创建一个新的文件夹,用于存放页面组件和路由配置文件。 7. 在src文件夹中创建一个新的文件夹,用于存放页面组件。 8. 在src文件夹中创建一个新的文件夹,用于存放路由配置文件。 9. 在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; ``` 10. 在src/main.ts文件中导入并使用Vue Router: ```typescript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app'); ``` 11. 在src/views文件夹中创建一个新的文件,命名为Home.vue,并在其中编写一个简单的页面组件: ```vue <template> <div> <h1>Welcome to Home Page</h1> </div> </template> <script> export default { name: 'Home', }; </script> ``` 12.src/App.vue文件中添加一个路由出口,用于显示组件: ```vue <template> <div id="app"> <router-view></router-view> </div> </template> <script> export default { name: 'App', }; </script> ``` 13. 在src/main.ts文件中导入并使用Element Plus: ```typescript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; createApp(App).use(router).use(ElementPlus).mount('#app'); ``` 14. 运行以下命令来启动开发服务器: ```shell npm run dev ``` 15. 打开浏览器,并访问http://localhost:3000,你将看到一个简单的页面,其中包含"Welcome to Home Page"的文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值