【electron】electron forge + vite + vue + electron-release-server 自动更新客户端

news2024/12/19 3:31:16

基本信息

electron forge vue页面(中文):https://forge.electron.js.cn/guides/framework-integration/vue-3
electron forge vue页面(英文,中文版下面的tab无法点击):https://www.electronforge.io/guides/framework-integration/vue-3
electron release server github link:https://github.com/ArekSredzki/electron-release-server
electron release server csdn说明link:https://blog.csdn.net/jinqiuxin/article/details/136356969

开始实现

服务器部署

数据库

在宝塔中使用PostgreSQL数据库
根据要求创建两个数据库,数据库名如下,但是用户不用太过关注,因为如果使用正常你创建的用户会出现权限问题,需要使用管理员账号
electron_release_server_sessions
electron_release_server
在这里插入图片描述
参考文档https://github.com/ArekSredzki/electron-release-server/blob/master/docs/database.md
在这里插入图片描述
关于其他的说明我们可以不用理会

服务部署

接下来我们开始部署网络上的服务器
参考文档:https://github.com/ArekSredzki/electron-release-server/blob/master/docs/deploy.md

# 查看nodejs版本
node --version
# 查看npm版本
npm --version
# 查看git版本
git --version

# 找到目录然后git clone这个库
cd /home/www/wwwroot/
git clone https://github.com/ArekSredzki/electron-release-server.git

# 项目初始化
cd electron-release-server/
npm install

# 开始配置项目
cp config/local.template config/local.js

开始配置项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

应用创建

引导创建应用

参考文档:https://forge.electron.js.cn/guides/framework-integration/vue-3

# 在本机找到开发目录
# 在开发目录初始化项目  其中`my-vue-app`改成自己的名字
npm init electron-app@latest my-vue-app -- --template=vite

# 添加依赖项
npm install vue
npm install --save-dev @vitejs/plugin-vue

按照官方文档修改对应文件。下面的参考文档是英文版,中文版的其中部分功能用不了。
参考文档:https://www.electronforge.io/guides/framework-integration/vue-3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中有个设置需要在main中设置,否则会报错
在这里插入图片描述
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';

配置发布

# 安装发布插件
npm install --save-dev @electron-forge/publisher-electron-release-server

参考文档:https://forge.electron.js.cn/config/publishers/electron-release-server
在这里插入图片描述

# 使用的时候可以直接发布
npm run publish

配置自动更新

参考文档:https://www.electronjs.org/zh/docs/latest/tutorial/updates
在这里插入图片描述

此处是一个重点,因为其中平台的部分很容易出现问题,导致拉去的数据不正确
http://111.172.107.13:1337/update/osx_arm64/2.0.0/stable

代码参考
在这里插入图片描述

如何加入路由

参考文档:https://router.vuejs.org/zh/installation.html

# 引入
npm install vue-router@4

创建router文件夹并在其中创建index.js

import { createRouter, createWebHashHistory } from "vue-router";

const routes = [
   {
       path: "/",
       name: "home",
       component: () => import("../views/home.vue")
   },
   {
       path: "/about",
       name: "about",
       component: () => import("../views/about.vue")
   }
];

const router = createRouter({
   history: createWebHashHistory(),
   routes: routes
});

export default router;

renderer.js中设置路由
在这里插入图片描述

修改改App.vue
在这里插入图片描述

添加home.vue
在这里插入图片描述

添加`about.vue`
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/82c4363d03f549ea8feae4f75f921bcc.png)
经过测试可以正常切换

在这里插入代码片

加入UI库

UI库参考文档:https://www.naiveui.com/zh-CN/os-theme/docs/installation

# 安装UI库
npm i -D naive-ui
# 安装字体依赖
npm i -D vfonts

home.vue
在这里插入图片描述
在这里插入图片描述

about.vue
在这里插入图片描述
在这里插入图片描述

配置自动更新

重大问题
macos中需要设计到代码签名的问题始终无法解决,后续解决掉之后再更新此处。

自动更新实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2261912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu+ros新手笔记(二):古月·ROS2入门21讲学习笔记

系统ubuntu22.04 ros2 humble 按照如下视频教程学习的:【古月居】古月ROS2入门21讲 | 带你认识一个全新的机器人操作系统 此处仅记录我报错的地方,以及相应的解决方案,没有出错的略过! 对应的古月居ROS2入门21讲源码下载地址&a…

IDEA 可视化使用 git rebase 合并分支步骤 使git分支树保持整洁

模拟环境 dev 分支开发完一个功能,需要合并到 master 分支,如果现在直接 merge 合并的话 git分支树会出现杂乱分叉,先把 master 分支 rebase 到 dev git分支树就会是整洁的一条直线 git rebase介绍 rebase:翻译成中文是重新设定,…

Windows环境 (Ubuntu 24.04.1 LTS ) 国内镜像,用apt-get命令安装RabbitMQ,java代码样例

一、环境 Windows11 WSL(Ubuntu 24.04.1) 二、思路 1 用Windows中的Ubuntu安装RabbitMQ,贴近Linux的线上环境; 2 RabbitMQ用erlang语言编写的,先安装erlang的运行环境; 2 用Linux的apt-get命令安装,解决软件依赖…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

CTFHUB-web(SSRF)

内网访问 点击进入环境,输入 http://127.0.0.1/flag.php 伪协议读取文件 /?urlfile:///var/www/html/flag.php 右击查看页面源代码 端口扫描 1.根据题目提示我们知道端口号在8000-9000之间,使用bp抓包并进行爆破 POST请求 点击环境,访问flag.php 查看页…

数据结构 ——前缀树查词典的实现

数据结构 ——前缀树查词典的实现 一、前缀树的概念 前缀树是一种多叉树结构,主要用于存储字符串。每个节点代表一个字符,路径从根节点到叶节点表示一个完整的字符串。前缀树的关键特征是 共享前缀,也就是说,如果两个字符串有相…

React里循环tab列表,并实现点击切换class

介绍 在 React 框架里,通过循环去显示 tab列表的标题,并且添加点击事件,当前点击的tab高亮显示。就像 vue 里 通过 v-for 显示列表并且点击时添加 activeClass 一样。 实现效果 代码 主要通过 map方法来实现列表的循环显示,然后…

selenium 在已打开浏览器上继续调试

关闭浏览器,终端执行如下指令,--user-data-dir换成自己的User Data路径 chrome.exe --remote-debugging-port9222 --user-data-dir"C:\Users\xxx\AppData\Local\Google\Chrome\User Data" 会打开浏览器,打开百度,如下状…

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架 Pytest BDD vs Behave:选择最适合的 Python BDD 框架BDD 介绍Python BDD 框架列表Python BehavePytest BDDPytest BDD vs Behave:关键区别Pytest BDD vs Behave:最佳应用场景结…

B站bilibili视频转文字字幕下载方法

本文将讲述介绍一种使用本地工具如何快速的下载B站的字幕为本地文本文件的方法。 通常获取B站字幕需要在浏览器中安装第三方插件,通过插件获取字幕。随着大模型,生成式AI,ChatGPT的应用,B站也提供了AI小助手对视频的内容进行总结…

ElasticSearch的自动补全功能(拼音分词器、自定义分词器、DSL实现自动补全查询、RestAPI实现自动补全查询)

文章目录 1. 什么是自动补全2. 拼音分词器2.1 初识拼音分词器2.2 下载拼音分词器2.3 安装拼音分词器2.4 测试拼音分词器 3. 自定义分词器3.1 拼音分词器存在的问题3.2 分词器(analyzer)的组成3.3 如何自定义分词器3.4 拼音分词器的可选参数3.5 配置自定义…

day12 接口测试 ——入门→精通→实战(1)

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、接口测试分类 1.1 内部接口: 1.2 外部接口: 2、目前接口架构设计 2.1、基于SOAP架构, 2.2、基于RPC架构, 2.3、基于RestFul架构, 2.3.1…

54、库卡机器人轴的软限位设置

步骤1:将用户组改为“专家”。 步骤2:点击“投入运行”----“售后服务”-----“软件限位开关” 步骤3:就可以针对每个轴修改对应的角度值,然后点击“保存”。

PHP+MySQL 学生信息管理系统

目录 MySQL建表指令 主页面展示 主页面源代码如下 增:添加学生信息 添加html如下 html:主要用于显示网页内容 成功添加后回显 ​编辑 增加php如下 删:删除学生信息 删除html如下 成功删除后回显 删除php如下 改:修改学…

【第三节】Git 基本操作指南

目录 前言 一、获取与创建项目 1.1 git init 1.2 git clone 二、基本快照操作 2.1 git add 2.2 git status 2.3 git diff 2.4 git commit 2.5 git reset HEAD 三、 文件管理 3.1 git rm 3.2 git mv 四、Git 文件状态 5.1 工作目录 5.2 暂存区 5.3 本地仓库 5…

【第六节】Git Flow:分支管理模型与工作流程

一、Git Flow 简介 1.1 什么是 Git Flow Git Flow 是一种基于 Git 的分支管理模型,旨在帮助团队更好地管理和发布软件。它由 Vincent Driessen 在 2010 年提出,通过一套标准的分支命名和工作流程,使开发、测试和发布过程更加有序和高效。不过…

Windows 与 Linux 下 Ping IPv6 地址 | 常用网络命令

注:本文为网络命令相关文章合辑。 未整理去重。 一、IPv6 概述 IPv6 即 “Internet 协议版本 6”,因 IPv4 地址资源面临耗尽问题而被引入以替代 IPv4。IPv6 则提供了理论上多达 2 128 2^{128} 2128 个地址,有效解决地址不足困境。 IPv6 具…

GB28181系列三:GB28181流媒体服务器ZLMediaKit

我的音视频/流媒体开源项目(github) GB28181系列目录 目录 一、ZLMediaKit介绍 二、 ZLMediaKit安装、运行(Ubuntu) 1、安装 2、运行 3、配置 三、ZLMediaKit使用 一、ZLMediaKit介绍 ZLMediaKit是一个基于C11的高性能运营级流媒体服务框架,项目地址&#xf…

【深度学习】深刻理解Swin Transformer

Swin Transformer 是一种基于 Transformer 的视觉模型,由 Microsoft 研究团队提出,旨在解决传统 Transformer 模型在计算机视觉任务中的高计算复杂度问题。其全称是 Shifted Window Transformer,通过引入分层架构和滑动窗口机制,S…

uniCloud云开发视频教程-从基础入门到项目开发实战-uniapp进阶课文章管理系统(云函数/云数据库/云存储)

大家好,我是爱搞知识的咸虾米。 今天给大家带来一门uniCloud基础入门到项目开发实战的课程。 视频学习地址:https://www.bilibili.com/video/BV1PP411E7qG/ 开始学习这门课之前,最好先学习一下uniapp零基础入门这套课,相信很多同…