一、拉取项目 electron-vite
中文文档地址: https://cn-evite.netlify.app/guide/
官网网址:https://evite.netlify.app/
版本
vue版本:vue3
构建工具:vite
框架类型:Electron
JS语法:TypeScript (目前未使用,TS限制太麻烦,我没有采用,当前版本JavaScript)
使用包管理器(如 NPM、Yarn 或 pnpm)安装 ,如果你的网络环境不佳,推荐使用 cnpm 或使用 npmmirror
安装
前提条件
electron-vite 需要 Node.js 版本 18+,20+ 和 Vite 版本 4.0+
npm i electron-vite -D
搭建第一个 electron-vite 项目
npm create @quick-start/electron@latest
运行项目:
cd electron-app
npm install
npm run dev
二、安装路由和二次封装
路由vue-router
npm install vue-router -S
二次封装路由
二次封装路由:为了方便后期维护和管理
1.在新建 electron-app\src\renderer\src目录下新增文件夹 views,存放vue页面。
2.在views目录下新增Login.vue,Home.vue文件用于测试。
<script setup></script>
<template>
<div>首页/登录</div>
</template>
3.清理App.vue里面的无关的代码,添加router-view 标签
<template>
<router-view></router-view>
</template>
4.electron-app\src\renderer\src 下新增router目录,存放路由相关配置文件
5.router目录下 新增 index.js (配置入口)
import {
createRouter, createWebHashHistory } from 'vue-router'
//引入路由表
import {
AppRoutes } from './routes'
//引入导航守卫
import {
beforeEach, afterEach } from './guards'
const router = createRouter({
history: createWebHashHistory(), //hash模式
routes: AppRoutes
})
//全局前置导航守卫
router.beforeEach(beforeEach)
//全局后置导航守卫
router.afterEach(afterEach)
export default router
6.router目录下 新增routes.js (路由表 )
/**
* 路由表
*/
export const AppRoutes = [
{
path: '/',
name: '登录',
component: () => import('../views/Login.vue')
},
{
path: '/',
name: '首页',
component: () => import('../views/Home.vue')
}
]
7.router目录下 新增 guards.js (导航守卫)
/**
*
*导航守卫
*/
//前置
export const beforeEach = () => {
console.log('前置')
return true
}
//后置
export const afterEach = () => {
console.log('后置')
}
8.在src\renderer\src\main.js 中引入路由
//import './assets/main.css'
import {
createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')
9.测试路由是否正常访问
npm run dev 启动项目,访问是否正常显示内容。
三、安装store (pinia) 和持久化存储
安装插件pinia
pinia的优点
- 更好的支持vue3和Ts
- vuedevtools更好的支持pinia
- 支持服务端渲染
- 支持插件扩展功能
1.下载安装pinia
npm install pinia -S
安装插件pinnia-plugin-persist
2.下载安装pinnia-plugin-persist 用于持久化存储
pinnia-plugin-persist
是一个用于 Vue.js 应用的状态管理库 Pinnia 的一个插件,它用于在浏览器中持久化状态。有时候我们需要持久化state数据,