vue3+vite+ts+router+vant4(从零到入门)

今天想熟悉下vue3搭配vant-ui库,却发现vant官网的快速上手教程只有怎么下载插件的

那下载后怎么全局引入使用呢 没介绍 遂有了这篇

// Eason估计怎么也没想到 孤勇者 现在传到了世界杯 我想他夜半看球赛时应该不会打盹了

从零开始

使用vite构建vue3+ts项目

个人习惯如图流程构建,初次构建可能还需 npm init vite 一下,当然你也可以按照vite官网构建

 删除清空非必要的文件 得到一个纯净的vue3项目

路由设置 (嫌手敲麻烦直接cv即可完成)

1 下载路由插件

npm i vue-router (此时是4.1.6版本)

2 项目src文件夹下创建router文件夹 然后创建index.ts文件

 3  router 文件夹下 index.ts 里的代码如下 (红了别慌 写入代码就好)


   
    
    
  1. // 1 引入所需方法
  2. // 路由创建:createRouter
  3. // 路由模式(两者任选其一):createWebHistory - history模式、createWebHashHistory - hash模式
  4. // RouteRecordRaw:意为路由原始信息 (使用vue3+js的不用引入)
  5. import {createRouter,createWebHistory,createWebHashHistory, RouteRecordRaw} from 'vue-router';
  6. // 设置路由规则
  7. const routes: Array< RouteRecordRaw> = [
  8. {
  9. path: '/',
  10. component: ()=> import( '../pages/home.vue')
  11. },{
  12. path: '/home',
  13. component: ()=> import( '../pages/home.vue')
  14. },{
  15. // 定义404路由
  16. path: '/404',
  17. component: ()=> import( '../pages/notfound.vue')
  18. },{
  19. // 匹配为定义路由然后重定向到404页面
  20. path: '/:pathMath(.*)',
  21. redirect: '/404'
  22. }
  23. ];
  24. // 设置路由
  25. const router = createRouter({
  26. routes,
  27. //路由模式:history
  28. history: createWebHistory()
  29. //路由模式:hash
  30. // history:createWebHashHistory()
  31. });
  32. // 导出路由
  33. export default router;

4 main.ts 文件代码


   
    
    
  1. import { createApp } from 'vue'
  2. import './style.css'
  3. import App from './App.vue'
  4. // 引入路由
  5. import router from './router/index'
  6. // 使用路由
  7. createApp( App). use(router). mount( '#app')

这样纵然无错 但我更喜欢多一步 像下面这样配置


   
    
    
  1. import { createApp } from 'vue'
  2. import './style.css'
  3. import App from './App.vue'
  4. // 引入路由
  5. import router from './router/index'
  6. const app = createApp( App)
  7. // 使用路由
  8. app. use(router). mount( '#app')

你说它俩没有区别也对 但前者在vue3项目里使用element-plus组件库时就容易报错 而后者不会

5 最后一步 设置路由出口 <router-view />

App.vue 文件代码


   
    
    
  1. <template>
  2. <div class='app'>
  3. </div>
  4. <router-view> </router-view>
  5. </template>
  6. <script lang='ts' setup>
  7. </script>
  8. <style scoped>
  9. </style>

看下效果 (完美呈现!今天又是收获满满的一天(#^.^#))

 再试一下路由重定向 (还是一如既往的完美 哼╭(╯^╰)╮)

下面使用vant组件库

1 下载vant插件 (此时vant版本为4.0.3)

npm i vant

2 全局引入

mian.ts 文件代码


   
    
    
  1. import { createApp } from 'vue'
  2. import './style.css'
  3. import App from './App.vue'
  4. // 引入路由
  5. import router from './router/index'
  6. // 引入vant
  7. import vant from 'vant'
  8. // 引入组件样式 (这里是全部引入)
  9. import 'vant/lib/index.css'
  10. const app = createApp( App)
  11. // 使用路由 vant
  12. app. use(router). use(vant). mount( '#app')

3 尝试使用vant组件

home.vue 文件代码


   
    
    
  1. <template>
  2. <div class="home">this is home page </div>
  3. <!-- 按钮 -->
  4. <div class="C">
  5. <van-button type="danger">危险按钮 </van-button>
  6. </div>
  7. <!-- 评分 -->
  8. <div class="C">
  9. <van-rate
  10. v-model= "rateValue"
  11. @ change= "changeRateValue"
  12. > </van-rate>
  13. </div>
  14. </template>
  15. <script lang="ts" setup>
  16. import {ref, Ref} from 'vue';
  17. // 评分
  18. const rateValue: Ref<number> = ref( 5) //默认五星
  19. const changeRateValue = ( e:number)=>{
  20. console. log(e); //评分变化 打印星数
  21. }
  22. </script>
  23. <style scoped>
  24. .C {
  25. padding: 20px;
  26. margin: 0 auto;
  27. }
  28. </style>

效果

 如此就完成了!是不是感觉步骤流程都差不多 只是有些许差异呢

(如果有问题优先从插件版本方面考虑 当然也可以留言 大家一起讨论)

最后延伸一下如何按需引入:自己看官网  官网都有详细描述 在这里我就不一一赘述了

试过,可以实现,但仔细看 官方隐晦表明不推荐此方法 (可能不稳定,易出问题且查询解决麻烦?,最后是打包后确实没有节省下多少css代码量)

今天想熟悉下vue3搭配vant-ui库,却发现vant官网的快速上手教程只有怎么下载插件的

那下载后怎么全局引入使用呢 没介绍 遂有了这篇

// Eason估计怎么也没想到 孤勇者 现在传到了世界杯 我想他夜半看球赛时应该不会打盹了

从零开始

使用vite构建vue3+ts项目

个人习惯如图流程构建,初次构建可能还需 npm init vite 一下,当然你也可以按照vite官网构建

 删除清空非必要的文件 得到一个纯净的vue3项目

路由设置 (嫌手敲麻烦直接cv即可完成)

1 下载路由插件

npm i vue-router (此时是4.1.6版本)

2 项目src文件夹下创建router文件夹 然后创建index.ts文件

 3  router 文件夹下 index.ts 里的代码如下 (红了别慌 写入代码就好)


   
  
  
  1. // 1 引入所需方法
  2. // 路由创建:createRouter
  3. // 路由模式(两者任选其一):createWebHistory - history模式、createWebHashHistory - hash模式
  4. // RouteRecordRaw:意为路由原始信息 (使用vue3+js的不用引入)
  5. import {createRouter,createWebHistory,createWebHashHistory, RouteRecordRaw} from 'vue-router';
  6. // 设置路由规则
  7. const routes: Array< RouteRecordRaw> = [
  8. {
  9. path: '/',
  10. component: ()=> import( '../pages/home.vue')
  11. },{
  12. path: '/home',
  13. component: ()=> import( '../pages/home.vue')
  14. },{
  15. // 定义404路由
  16. path: '/404',
  17. component: ()=> import( '../pages/notfound.vue')
  18. },{
  19. // 匹配为定义路由然后重定向到404页面
  20. path: '/:pathMath(.*)',
  21. redirect: '/404'
  22. }
  23. ];
  24. // 设置路由
  25. const router = createRouter({
  26. routes,
  27. //路由模式:history
  28. history: createWebHistory()
  29. //路由模式:hash
  30. // history:createWebHashHistory()
  31. });
  32. // 导出路由
  33. export default router;

4 main.ts 文件代码


   
  
  
  1. import { createApp } from 'vue'
  2. import './style.css'
  3. import App from './App.vue'
  4. // 引入路由
  5. import router from './router/index'
  6. // 使用路由
  7. createApp( App). use(router). mount( '#app')

这样纵然无错 但我更喜欢多一步 像下面这样配置


   
  
  
  1. import { createApp } from 'vue'
  2. import './style.css'
  3. import App from './App.vue'
  4. // 引入路由
  5. import router from './router/index'
  6. const app = createApp( App)
  7. // 使用路由
  8. app. use(router). mount( '#app')

你说它俩没有区别也对 但前者在vue3项目里使用element-plus组件库时就容易报错 而后者不会

5 最后一步 设置路由出口 <router-view />

App.vue 文件代码


   
  
  
  1. <template>
  2. <div class='app'>
  3. </div>
  4. <router-view> </router-view>
  5. </template>
  6. <script lang='ts' setup>
  7. </script>
  8. <style scoped>
  9. </style>

看下效果 (完美呈现!今天又是收获满满的一天(#^.^#))

 再试一下路由重定向 (还是一如既往的完美 哼╭(╯^╰)╮)

下面使用vant组件库

1 下载vant插件 (此时vant版本为4.0.3)

npm i vant

2 全局引入

mian.ts 文件代码


   
  
  
  1. import { createApp } from 'vue'
  2. import './style.css'
  3. import App from './App.vue'
  4. // 引入路由
  5. import router from './router/index'
  6. // 引入vant
  7. import vant from 'vant'
  8. // 引入组件样式 (这里是全部引入)
  9. import 'vant/lib/index.css'
  10. const app = createApp( App)
  11. // 使用路由 vant
  12. app. use(router). use(vant). mount( '#app')

3 尝试使用vant组件

home.vue 文件代码


   
  
  
  1. <template>
  2. <div class="home">this is home page </div>
  3. <!-- 按钮 -->
  4. <div class="C">
  5. <van-button type="danger">危险按钮 </van-button>
  6. </div>
  7. <!-- 评分 -->
  8. <div class="C">
  9. <van-rate
  10. v-model= "rateValue"
  11. @ change= "changeRateValue"
  12. > </van-rate>
  13. </div>
  14. </template>
  15. <script lang="ts" setup>
  16. import {ref, Ref} from 'vue';
  17. // 评分
  18. const rateValue: Ref<number> = ref( 5) //默认五星
  19. const changeRateValue = ( e:number)=>{
  20. console. log(e); //评分变化 打印星数
  21. }
  22. </script>
  23. <style scoped>
  24. .C {
  25. padding: 20px;
  26. margin: 0 auto;
  27. }
  28. </style>

效果

 如此就完成了!是不是感觉步骤流程都差不多 只是有些许差异呢

(如果有问题优先从插件版本方面考虑 当然也可以留言 大家一起讨论)

最后延伸一下如何按需引入:自己看官网  官网都有详细描述 在这里我就不一一赘述了

试过,可以实现,但仔细看 官方隐晦表明不推荐此方法 (可能不稳定,易出问题且查询解决麻烦?,最后是打包后确实没有节省下多少css代码量)

猜你喜欢

转载自blog.csdn.net/weixin_64310738/article/details/129087433
今日推荐