# Vue+Vite+TDesign
**Repository Path**: suyi-oh/vue-vite-framework
## Basic Information
- **Project Name**: Vue+Vite+TDesign
- **Description**: Vue+Vite+TDesign框架,电脑手机双端适用。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2024-07-03
- **Last Updated**: 2025-05-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 前端框架
## README
# Vue 3 + Vite+TDesign
## 项目搭建
创建项目
~~~SHELL
npm create vite@latest
~~~
进入项目,下载相关依赖
~~~SHELL
npm i
~~~
删除com开头的那个文件,删除assets下的文件,删除style.css,删除main.js文件中的 import 'style.css',删除App.vue中的内容,并增加如下信息:
~~~vue
~~~
创建一个vue文件 -- `home.vue`
~~~vue
首页
~~~
下载vue-router并配置路由
~~~js
npm install vue-router@4
1. 在src下新建包 router,新建文件index.js 添加如下内容:
import {
createRouter,
createWebHistory
} from 'vue-router'
import Home from '../views/home.vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: "/",
name: 'home',
component: Home
},
]
})
export default router
~~~
修改main.js文件,将路由安装到vue实例上
~~~js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
//创建vue实例
const app = createApp(App)//以App组件为默认页面
//将路由以插件的形式安装到vue实例上 this.$router跳转 this.$route获取路由信息
app.use(router)
//将vue实例挂载到index.html中 id=app的元素上
app.mount('#app')
~~~
此时就可以正常运行了。
## 引入组件库
引入组件库,这里我使用的是`TDesign`
首先,安装TDesign
~~~shell
# 通过npm安装
npm i tdesign-mobile-vue
~~~
再main.js文件中添加如下
~~~js
import TDesign from 'tdesign-mobile-vue';
import 'tdesign-mobile-vue/es/style/index.css';
app.use(TDesign);
~~~
## 配置接口
安装`axios`
~~~shell
npm i axios
~~~
新建`utils`包,新建`http.js`,添加如下内容
~~~js
//导入env.js 服务器地址
import host from './env.js'
import axios from 'axios'
//创建请求实例
const instance = axios.create({
baseURL: host, //服务器地址
timeout: 5000 //5s超时时长
})
// 添加响应拦截器
instance.interceptors.response.use(function(response) {
// 2xx 范围内的状态码都会触发该函数。
// 对响应数据做点什么
if (response.status == 200) {
//获取接口数据
let rs = response.data;
if(rs.code == 200) {
//将rs封装成promise对象返回
return Promise.resolve(rs)
}
//不正常 弹框提示错误信息
ElMessage.error(rs.msg)
}
return Promise.resolve({});
}, function(error) {
// 超出 2xx 范围的状态码都会触发该函数。
// 对响应错误做点什么
return Promise.reject(error);
});
//对外暴露的请求方法
export default {
/**
* get请求
* @param {*} url 接口的相对地址
* @param {*} params 请求的参数是一个对象 请求时会将对象中的属性拼接成字符串到地址上
* @returns
*/
get(url, params) {
return instance.get(url, {
params
})
},
/**
* post 请求
* @param {*} url
* @param {*} data 请求数据
* @returns
*/
post(url, data) {
return instance.post(url, data)
},
/**
* put请求
* @param {*} url
* @param {*} data
* @returns
*/
put(url, data) {
return instance.put(url, data)
},
/**
* delete请求
* @param {*} url
* @param {*} params
* @returns
*/
delete(url, params) {
return instance.delete(url, {
params
})
}
}
~~~
新建`env.js`,添加如下内容
~~~js
export default "http://192.168.22.61:8081";//服务器地址
~~~
新建`api`包,新建接口JS文件,添加内容如下(根据需求,这只是示例)
~~~js
import http from '../utils/http.js'
export function queryUser(data){
return http.post("/api/user",data);
}
~~~
## 框架运行
如果您是git拉下来直接要用请看以下步骤
1. 下载相关依赖
~~~js
npm i
~~~
2. 修改`/src/utils/env.js`下的服务器地址
## 参考文档
#### [TDesign文档](https://tdesign.tencent.com/mobile-vue/getting-started)
###