今天想熟悉下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 引入所需方法
// 路由创建:createRouter
// 路由模式(两者任选其一):createWebHistory - history模式、createWebHashHistory - hash模式
// RouteRecordRaw:意为路由原始信息 (使用vue3+js的不用引入)
import {createRouter,createWebHistory,createWebHashHistory,RouteRecordRaw} from 'vue-router';

// 设置路由规则
const routes:Array<RouteRecordRaw> = [
    {
        path:'/',
        component:()=>import('../pages/home.vue')
    },{
        path:'/home',
        component:()=>import('../pages/home.vue')
    },{
        // 定义404路由
        path:'/404',
        component:()=>import('../pages/notfound.vue')
    },{
        // 匹配为定义路由然后重定向到404页面
        path:'/:pathMath(.*)',
        redirect:'/404'
    }
];

// 设置路由
const router = createRouter({
    routes,
    //路由模式:history
    history:createWebHistory()
    //路由模式:hash
    // history:createWebHashHistory()
});

// 导出路由
export default router;

4 main.ts 文件代码

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// 引入路由
import router from './router/index'

// 使用路由
createApp(App).use(router).mount('#app')

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

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// 引入路由
import router from './router/index'


const app = createApp(App)
// 使用路由
app.use(router).mount('#app')

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

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

App.vue 文件代码

<template>

<div class='app'>

</div>

<router-view></router-view>

</template>


<script lang='ts' setup>

</script>


<style scoped>

</style>

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

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

下面使用vant组件库

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

npm i vant

2 全局引入

mian.ts 文件代码

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// 引入路由
import router from './router/index'
// 引入vant
import vant from 'vant'
// 引入组件样式 (这里是全部引入)
import 'vant/lib/index.css'


const app = createApp(App)
// 使用路由 vant
app.use(router).use(vant).mount('#app')

3 尝试使用vant组件

home.vue 文件代码

<template>

  <div class="home">this is home page</div>

<!-- 按钮 -->
  <div class="C">
    <van-button type="danger">危险按钮</van-button>
  </div>

<!-- 评分 -->
  <div class="C">
    <van-rate
    v-model="rateValue"
    @change="changeRateValue"
    ></van-rate>
  </div>
 
</template>

<script lang="ts" setup>
import {ref,Ref} from 'vue'; 


// 评分
const rateValue:Ref<number> = ref(5) //默认五星

const changeRateValue = (e:number)=>{
     console.log(e);//评分变化 打印星数
}



</script>

<style scoped>
.C {
  padding: 20px;
  margin: 0 auto;
}
</style>

效果

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

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

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

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

Logo

前往低代码交流专区

更多推荐