vue3+vite+js+router+vueX+组件一键导入(源码)

news/2024/11/25 21:17:28/

一、前言

  • 一直想自己做一个简单脚手架,方便自己做点简单的demo
  • 网上开源也找不到,大多数都是太重了,或者又太轻了
  • 今天把这个几个都揉在一起,方便后面做点小玩意

二、项目包

vite-project.zip - 蓝奏云文件大小:8.8 M|https://wwwf.lanzout.com/ik7CN0zrhlwd


三、脚手架搭建

3.1、安装 Node.js >=12.0.0(环境配置)

自行百度

3.2、创建vite项目

1、项目创建

npm create vite@latest

 

2、接下来按照这几个提示进行

3、创建完成——运行项目

 

 

 

3.3、集成vue-router

1、安装官方插件

 npm install vue-router@4.0.15

2、创建文件(用来存放router设置)--要修改对应的路径!

//引入配置文件 
import { createRouter, createWebHistory } from 'vue-router'//配置router与组件之间的对应关系
const router = createRouter({history: createWebHistory(), // 必须得有history不然启动不了!!!routes: [{path:'/',component: () => import('../views/index/index.vue') // 对应的路径自行修改},{path:'/login',component: () => import('../views/login/login.vue') // 对应的路径自行修改},{path:'/user',component: () => import('../views/user/user.vue')  // 对应的路径自行修改},]
})//导出路由对象  使用路由的地方引入即可  一般在入口main.js中使用
export default router;

3、创建对应的页面

<template><div>index</div>
</template>

4、main.js引入

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';const app = createApp(App);
app.use(router);

5、App.vue改写

<template><router-view></router-view>
</template><style></style>

路由集成完成啦!!!

推荐视频:(但是这个是TS的哟!

小满vue3-Router4教程_哔哩哔哩_bilibili小满vue3-Router4教程共计14条视频,包括:小满Router(第一章-安装)、小满Router(第一章-路由模式)、小满Router(第二章-命名路由-编程式导航)等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1oL411P7JX

 3.4、集成vueX

1、安装插件

npm install vuex@next
npm install vuex-persistedstate

2、创建文件夹 

import createPersistedState from 'vuex-persistedstate';
import { createStore } from 'vuex';const store = createStore({state() {return {counter: 5,user: null};},mutations: {increment(state) {state.counter++;},setUser(state, user) {state.user = user;}},actions: {async fetchUser({ commit }) {const response = await fetch('https://api.pan.com/user');const user = await response.json();commit('setUser', user);}},getters: {doubleCounter(state) {return state.counter * 2;}},// 持久化存储将保存整个Vuex Store的状态plugins: [createPersistedState()]
});export default store

3、main.js使用

app.use(router).use(store)

4、vue页面——实现持久化存储

<template><div><p>Counter: {{ $store.state.counter }}</p><p>User: {{ $store.state.user }}</p><p>Double Counter: {{ $store.getters.doubleCounter }}</p><button @click="$store.commit('increment')">Increment</button><button @click="$store.dispatch('fetchUser')">Fetch User</button></div>
</template><script>
export default {}
</script><style></style>

 3.4、自定义组件(一键全局注册)

1、创建组件

 

2、main.js一键全局注册

// 导入 component 目录下的所有组件
const componentFiles = import.meta.globEager('./components/*.vue');
Object.entries(componentFiles).forEach(([path, component]) => {const componentName = path.match(/\.\/components\/(.*)\.vue$/)[1];app.component(componentName, component.default);
});

附:单个全局注册方法

// 普通导入组件
// import MyButton from './components/my_btn.vue';
// app.component('my_btn', MyButton);

对于组件库——有全部引入和按需引入——具体看组件库的说明文档!

路由传参


<template><div><!-- home --><div>Home</div><!-- 路由跳转 --><my_btn @click="toPage('/user')">Go to User</my_btn><my_btn @click="toPage('/login')">Go to login</my_btn><my_btn type="primary" text="开始"></my_btn><my_btn type="warning" text="警告"></my_btn><my_btn type="success" text="开始"></my_btn><my_btn type="error" text="开始"></my_btn></div></template><script>
// import { useRouter } from 'vue-router';
import { ref, provide } from 'vue';export default {data() {obj: {nested: { count: 0 };arr: ['foo', 'bar']}return {count: 0}},methods: {// 跳转到指定页面toPage(routePath) {const student = { name: 'Max', age: 10 };this.$router.push({path: routePath,// query这个本身就是一个对象query: {// 在这里添加参数parameterName: '在这里添加参数',student: JSON.stringify(student)},});},},
};
</script><style></style>


http://www.ppmy.cn/news/520111.html

相关文章

荣耀v30是安卓还是鸿蒙,荣耀30、V30和20系列等用户有福啦

据知名数码博主 " 菊厂营业 Fans" 透露&#xff0c;荣耀 30 系列、V30 系列等产品有升级鸿蒙系统的计划&#xff0c;但是这只是针对荣耀独立之前的机型才会更快的安排。幸运的是&#xff0c;得益于鸿蒙 OS 是开源设计&#xff0c;鸿蒙对高通平台和其他平台的适配早有…

荣耀v30鸿蒙5g直播,双模5G全网通!荣耀V30冰岛幻境

11月26日&#xff0c;荣耀V30系列新机发布&#xff0c;起售价3299元起&#xff0c;这也是荣耀首款5G旗舰。荣耀总裁赵明表示&#xff0c;这次的价格比较有诚意&#xff0c;就想通过更有性价比的价格扩大5G用户范围内。 荣耀V30提供了魅海星蓝、曙光之橙、幻夜星河、冰岛幻境四款…

荣耀V30pro有鸿蒙,荣耀V40pro再曝光,4K屏+双5000万+鸿蒙OS,再见了荣耀V30pro

原标题&#xff1a;荣耀V40pro再曝光&#xff0c;4K屏双5000万鸿蒙OS&#xff0c;再见了荣耀V30pro 手机市场上不可忽视的一个子品牌厂商就是荣耀&#xff0c;荣耀这个厂商虽然一家子品牌厂商&#xff0c;不过有华为作为后盾&#xff0c;实力非常强悍&#xff0c;轻易无法撼动。…

v30pro支持鸿蒙,荣耀V40pro秀肌肉,麒麟9000+双6400万+鸿蒙OS,再见了荣耀V30pro

如今华为成为手机市场上必不可少的一个手机厂商&#xff0c;而华为旗下的荣耀也跟着受益&#xff0c;也成为了当下比较火热的子品牌厂商。同时荣耀还是最早推出5G手机的厂商&#xff0c;它较早发布的荣耀V30系列可以说出尽了风头&#xff0c;在市场上获得较多消费者的追捧。然而…

华为v30鸿蒙系统,荣耀30和V30系列将首批搭载Magic UI 4.0,后续支持升级为鸿蒙系统...

原标题&#xff1a;荣耀30和V30系列将首批搭载Magic UI 4.0&#xff0c;后续支持升级为鸿蒙系统 出品 | 搜狐科技 编辑 | 张雅婷 9月10日下午15点30分&#xff0c;华为消费者业务软件部总裁王成录在华为开发者大会上发表了题为《连接无限可能-全场景终端软件发布》的主题演讲&a…

v30更新鸿蒙,荣耀手机也要升级鸿蒙,更新名单曝光,V30/30系列有望下月开测?...

原标题&#xff1a;荣耀手机也要升级鸿蒙&#xff0c;更新名单曝光&#xff0c;V30/30系列有望下月开测&#xff1f; 最近鸿蒙2.0系统已经是手机圈的一大热点之一了&#xff0c;不少网友开始在网上晒出了更新了鸿蒙2.0系统的截图以及视频上手体验。不过这些上手的全是华为手机&…

荣耀v30鸿蒙5g荣耀有隔空操作吗,荣耀v30Pro支持隔空操作吗 了解手机主要特点

在此前发布的mate30Pro上&#xff0c;用户可以使用隔空操作&#xff0c;支持隔空截屏等功能&#xff0c;那么荣耀v30Pro支持隔空操作吗&#xff1f;下面来看详细介绍。 荣耀v30Pro不支持隔空操作&#xff0c;手机左上角仅有两枚摄像头&#xff0c;没有配备姿态传感器&#xff0…

海康sd报错Structure.getFieldOrder() on class com.xxx.sdk.HCNetSDK$NET_DVR_DEVICEINFO_V30 does not provid

记一次linux部署海康sdk错误 报错内容如下 Caused by: java.lang.Error: Structure.getFieldOrder() on class com.xxx.sdk.HCNetSDK$NET_DVR_DEVICEINFO_V30 does not provide enough names [0] ([]) to match declared fields [31] ([byAlarmInPortNum, byAlarmOutPortNu…