Vue3+TypeScript+Router+Vuex+Ant-Design-Vue项目(三)—— 使用 vite 搭建项目

vite

概念

什么是vite?—— 是vue 极力推荐的新一代前端构建工具。

优势

  • 开发环境中,无需打包操作,可快速的冷启动
    ​众所周知,用vue-cli创建的vue项目或者其他基于webpack构建工具的项目在运行时都需要一个打包的过程,打包后作为静态资源放在devServer创建的服务里才能访问查看页面,而vite构建的项目是可以快速冷启动而不需要打包的操作。

  • 轻量快速的热重载(HMR)

  • 真正的按需编译,不再等待整个应用编译完成
    webpack打包是从入口文件开始,分析项目的路由,再而分析路由所应用到的模块整体一起打包,然后启动devServer,然后才可以在浏览器访问本地服务端口去查看工程界面。
    vite则是用的是一个相反的思路进行开发环境的项目构建,首先,启动好服务然后分析入口文件,接下来,不会去打包所有路由所需依赖以及路由的组成模块,而是根据用户的访问去动态构建,因此vite构建的工程启动会快很多,就像是:按需编译,不用等待整个应用编译完成。

安装 vite

使用 NPM:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装路由、axios和vuex ```bash npm install vue-router axios vuex --save ``` 2. 创建路由 在src/router目录下创建index.ts文件,并添加以下内容: ```typescript import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' import Home from '@/views/Home.vue' const routes: Array<RouteRecordRaw> = [ { path: '/', name: 'Home', component: Home } ] const router = createRouter({ history: createWebHistory(), routes }) export default router ``` 3. 创建Vuex store 在src/store目录下创建index.ts文件,并添加以下内容: ```typescript import { createStore } from 'vuex' export default createStore({ state: {}, mutations: {}, actions: {}, modules: {} }) ``` 4. 在main.ts中使用路由、axios和vuex 在main.ts文件中添加以下内容: ```typescript import { createApp } from 'vue' import App from './App.vue' import router from './router' import store from './store' import axios from 'axios' const app = createApp(App) app.config.globalProperties.$axios = axios app.use(router) app.use(store) app.mount('#app') ``` 5. 在组件中使用路由、axios和vuex 在组件中可以直接使用路由、axios和vuex,例如: ```typescript import { defineComponent } from 'vue' import { useStore } from 'vuex' export default defineComponent({ setup() { const store = useStore() const fetchData = async () => { const res = await axios.get('/api/data') store.dispatch('setData', res.data) } return { fetchData } } }) ``` ```typescript import { defineComponent } from 'vue' import { useRouter } from 'vue-router' export default defineComponent({ setup() { const router = useRouter() const goToPage = (pageName: string) => { router.push({ name: pageName }) } return { goToPage } } }) ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值