使用Electron + Vue3 + TS搭建桌面端应用并可热更新

这篇具有很好参考价值的文章主要介绍了使用Electron + Vue3 + TS搭建桌面端应用并可热更新。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下是必要的技术:

  • Electron 13.0.0
  • Vue3 + TS
  • Electron-updater
  • Node 16.13.1
  • Element-plus
  • Less
  • Meansjs

搭建Vue3项目

  1. 安装Vue-cli(如果未安装): npm install -g @vue/cli
  2. 创建Vue3项目:vue create electron-vue3
  3. 启动项目:yarn serve

安装Electron

  1. 安装Electron:vue add electron-builder
  2. 启动项目:yarn electron:serve
  3. 如果报错,需要安装ts-loader: yarn add ts-loader@8.2.0
  4. 修改background.ts文件中的代码(将await installExtension(VUEJS3_DEVTOOLS)改为session.defaultSession.loadExtension( path.resolve(__dirname, "../devTools/chrome")))。

创建主进程文件

  1. 在src文件夹中创建host文件,并在其中添加index.ts文件。
  2. 在index.ts文件中添加代码(窗口最小化、最大化、关闭操作)。
  3. 修改background.ts文件并导入host文件。
  4. 遇到启动速度很慢的问题,可以将background.ts文件中的await installExtension(VUEJS3_DEVTOOLS)替换为session.defaultSession.loadExtension( path.resolve(__dirname, "../devTools/chrome")),并对new BrowserWindow参数进行一些调整。

配置vue.config.js文件

  1. 复制以下代码,并根据需要修改appId、icon、guid、include等参数。
const { defineConfig } = require('@vue/cli-service');

module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack: {
    externals: {
      'electron': 'require("electron")'
    },
  },
  pluginOptions: {
    electronBuilder: {
      nodeIntegration: true,
      mainProcessFile: "src/background.ts",
      rendererProcessFile: "src/main.ts",
      customFileProtocol: "../",
      builderOptions: {
        appId: "com.zhuhong.vue3",
        productName: "JSON工具",
        win: {
          icon: "./src/assets/login-icon.png",
          target: {
            target: "nsis",
            arch: ["x64"],
          },
        },
        nsis: {
          allowElevation: true,
          oneClick: false,
          allowToChangeInstallationDirectory: true,
          "guid": "com.zhuhong.vue3",
          "include": "./installer.nsh"
        },
      },
    },
  },
})

  1. 创建installer.nsh文件,并将以下代码复制进去:
!macro customInit
DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\com.zhuhong.vue3"
!macroend

  1. 打包:yarn electron:build

热更新

  1. 安装electron-updater:yarn add electron-updater
  2. 创建JSPatch文件,并将以下代码复制进去:
import { ipcMain } from "electron";
const { autoUpdater } = require("electron-updater");

autoUpdater.autoDownload = false;
autoUpdater.autoInstallOnAppQuit = true;

autoUpdater.setFeedURL({
  provider: 'generic',
  url: 'https://', // 打包文件存放地址
});

export default (win:any)=>{
  function sendStatusToWindow(status?:any, params?:any) {
    win.webContents.send(status, params);
  }

  autoUpdater.on('checking-for-update', () => {
    sendStatusToWindow('Checking for update...');
  })
  autoUpdater.on('update-available', (info:any) => {
    sendStatusToWindow('autoUpdater-canUpdate',

以上为详细的搭建步骤和必要的技术。文章来源地址https://www.toymoban.com/news/detail-425904.html

到了这里,关于使用Electron + Vue3 + TS搭建桌面端应用并可热更新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零搭建vue+electron桌面应用

    1.全局下载electron 2.全局下载vue脚手架 3.创建vue项目(这里用的是vue2版本) 4.安装打包插件 首先进入项目目录 安装打包插件 5.安装electron-builder,安装后可以直接生成主进程的配置文件 6.在vue.config.js中添加以下配置 作完以上步骤之后,会在src根目录生成background.js,这个文件

    2024年02月17日
    浏览(29)
  • 新星计划 Electron+vue2 桌面应用 2 搭建及运行

    基础内容:新星计划 Electron+vue2 桌面应用 1 基础_lsswear的博客-CSDN博客 根据使用过的经验和官网的描述,大概可以有四种方式: 自己创建项目(仅使用npm) 用Electron脚手架 HBuilder编译为web,再用Electron编译 vue脚手架,安装Electron,再编译 这次挨个试下,看哪个方便。第三种试

    2024年02月06日
    浏览(28)
  • electron+vue3全家桶+vite项目搭建【24】设置应用图标,打包文件的图标

    demo项目地址 在electron中,我们可以通过electron-builder的配置文件来设置打包后的应用图标 因为mac环境下的图标需要特殊格式,这里我们可以利用electron-icon-builder进行配置 1.引入相关依赖 加入安装过程中卡在了 phantomjs-2.1.1-windows.zip的下载,可以直接去github上下载 这里我也放一

    2024年02月17日
    浏览(39)
  • electron+vue3全家桶+vite项目搭建【23】url唤醒应用,并传递参数

    demo项目地址 很多场景下我们都希望通过url快速唤醒应用,例如百度网盘,在网页中唤醒应用,并传递下载链接,在electron中要实现这样的效果,就需要针对不同的平台做对应的处理。 1.主进程中补充调整代码 windows中需要注册协议,指定被唤醒时如何处理url windows当页面被唤

    2024年02月16日
    浏览(30)
  • 使用electron-vite +Vue+ElementPlus开发跨平台桌面应用

    我们的项目是基于Elasticsearch来进行数据的存储与查询的,使用过ES的朋友应该都比较清楚,现在还没有一个比较友好的ES的桌面客户端软件可以和MySQL的桌面客户端软件媲美的,使用ES起来非常麻烦,经常会被吐槽的三个点: 资深测试吐槽:为什么技术选型要选择ES,增删改查

    2023年04月09日
    浏览(60)
  • Electron+Vue3+TS 打包exe客户端

    Electron + Vue3 + TS 实战 - 掘金 如果报错loaderContext.getOptions is not a function ts-loader版本不一致导致的问题。 解决方案:npm install ts-loader@8.0.0 --save

    2024年02月11日
    浏览(24)
  • 现有的vue3+ts+vite项目集成electron

    Electron是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序框架。 Electron兼容Mac、Windows和Linux,可以构建出三个平台的应用程序。 安装依赖 原来有一个vue3+ts+vite+pnpm的项目,其中sub-modules是子项目,web是主入口项目,项目结构如下: 需要将其转换成Electron项目,只需要在原来

    2024年02月12日
    浏览(39)
  • Vue3 Vite electron 开发桌面程序

    Electron是一个跨平台的桌面应用程序开发框架,它允许开发人员使用Web技术(如HTML、CSS和JavaScript)构建桌面应用程序,这些应用程序可以在Windows、macOS和Linux等操作系统上运行。 Electron的核心是 Chromium 浏览器内核和 Node.js 运行时环境。 Chromium 内核提供了现代浏览器的功能,

    2024年02月16日
    浏览(29)
  • Electron-ChatGPT桌面端ChatGPT实例|electron25+vue3聊天AI模板EXE

    基于 electron25+vite4+vue3 仿制chatgpt客户端聊天模板 ElectronChatGPT 。 electron-chatgpt 使用最新桌面端技术 Electron25.x 结合 Vite4.x 全家桶技术开发跨端模仿ChatGPT智能聊天程序模板。支持 经典+分栏两种布局、暗黑+明亮主题模式,集成electron封装多窗口及通讯 功能。 编码工具:vscode 框架

    2024年02月08日
    浏览(24)
  • 使用 Vite + Vue3 + Element-Plus + Pinia + Ts 搭建 Vue3 项目

    Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。 首先 npm 输入: Project name :项目名称 Select a framework :选择一个框架 Select a variant :选择 ts 或者 js 输入项目名称后选择 vue 选择

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包