使用Vite创建Vue3项目并配置路由和Pinia
创作时间:
作者:
@小白创作中心
使用Vite创建Vue3项目并配置路由和Pinia
引用
CSDN
1.
https://blog.csdn.net/2302_78387246/article/details/137273916
本文将介绍如何使用Vite创建Vue3项目,并配置路由和Pinia状态管理。
第一节:创建Vue3项目
- 打开命令行窗口,进入项目文件目录
- 执行
npm init vite@latest命令,根据提示进行选择:
- 确认创建
- 填写文件名
- 选择框架(Vue3)
- 选择使用JS还是TS
- 完成上述步骤后,项目文件夹将被创建。使用VSCode打开文件夹,在终端中运行以下命令:
npm install安装依赖npm run dev启动项目
第二节:配置路由
- 安装Vue Router:
npm install vue-router@4 - 在项目中新建
router文件夹,并在该文件夹下创建index.js文件,添加以下代码:
import { createRouter, createWebHistory } from 'vue-router'
const routes = [
{
path: '/',
name: 'HelloWorld',
component: () => import('../components/HelloWorld.vue'),
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
export default router
- 在
main.js中配置路由:
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'
const app = createApp(App)
app.use(router).mount('#app')
- 在
App.vue中添加路由出口:
<template>
<div>
<router-view></router-view>
</div>
</template>
<script setup>
</script>
<style scoped>
</style>
第三节:测试路由
启动项目后,由于路由配置指向HelloWorld.vue页面,因此页面将显示该组件的内容。
第四节:配置Pinia
- 安装Pinia:
npm install pinia - 在
main.js中配置Pinia:
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'
import { createPinia } from 'pinia'
const pinia = createPinia()
const app = createApp(App)
app.use(router)
app.use(pinia)
app.mount('#app')
- 创建
store文件夹,并在其中添加index.js文件,添加以下代码:
import { defineStore } from 'pinia'
export const useCounterStore = defineStore('counter', {
state: () => ({ count: 10 }),
getters: {
double: (state) => state.count * 2,
},
actions: {
increment() {
this.count++
},
},
})
- 在组件页面中使用Pinia:
<template>
<div style="font-size: 30px;">
HelloWorld的页面
</div>
<div>
{{ store.count }}
</div>
<div>
{{ store.double }}
</div>
<div>
<button @click="store.increment">按钮点击调用increment方法</button>
</div>
</template>
<script setup>
import { useCounterStore } from '../stores'
const store = useCounterStore()
console.log(store)
console.log(store.count) // count 10
console.log(store.double) // double 10*2=20
</script>
<style lang="less" scoped>
</style>
第五节:测试Pinia
- 打开页面,初始显示
count为10,double为20 - 点击按钮两次后,
count变为12,double变为24
完成以上内容,项目的基本功能就搭建完成了。接下来可以根据需求添加其他插件,如Less、Element UI等。
热门推荐
NBA西部为何比东部强?三大因素解析
易经第三十三卦天山遁卦详解
遁卦 (下下卦)遁世救世
哈氏合金和乌金哪个好
乌金石的材质特性与应用领域详解
沙金和黄金的区别:肉眼如何辨别?
符号主义AI和深度学习结合有哪些组和研究方向值得关注
不按正常手续辞职有什么后果
鼻基底少女针溶不掉是怎么回事?少女针特性、操作及个体差异是主因,解决方法看这里!
在抖音上分享动漫剪辑视频是否需要版权授权?
帕特莱利好像搞错了!热火取得的成功关键,不是斯波而是巴特勒!
吉米·巴特勒两战砍下98分,热火逆袭雄鹿书写黑八奇迹!队史第一人闪耀季后赛
美短猫咪:活泼好动,亲人粘人,独立又好奇
中国佛学院普陀山学院开展2024年春季参学活动
汉赵政权:匈奴族刘渊的“汉”国号的确立,思想与制度上的汉化
铅酸电池出现"饿死、撑死、不耐用"问题如何应对?老师傅教你解决办法!
5个维度解读如何构建品牌营销策略
春季蔬菜全攻略:种类、营养价值与烹饪指南
买房“灰色操作”层出不穷,专家提示0首付低首付风险
探索社会悖论:揭示日常生活中的矛盾与真相
最近这个病毒高发!医生提醒:加强饮食、饮水卫生,如有不适及时就医
成语“名落孙山”中的“孙山”指的是人名还是山名?
钥匙生产工艺与技巧(打造精细、安全的钥匙制作过程)
卷心菜种植与生长周期详解(以秋季种植为例,打造高产丰收)
加快AIC股权投资落地 探索多样化科创金融服务
慈禧太后:权力与争议的交织
五行属土 含土的字女孩名字(精选360个)
支招伊万:三李组合提升中场实力,调整战术提升国足战斗力
Ae 从入门到精通之二:素材的导入与管理
Docker数据管理:卷、挂载和持久化,保障容器环境数据安全