从零搭建vue+electron桌面应用

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

一、准备工作

1.全局下载electron

npm install -g electron

2.全局下载vue脚手架

npm install -g @vue/cli

3.创建vue项目(这里用的是vue2版本)

vue create my-electron-app

4.安装打包插件

首先进入项目目录

cd my-electron-app

安装打包插件

npm install electron-builder --save-dev

5.安装electron-builder,安装后可以直接生成主进程的配置文件

vue add electron-builder

6.在vue.config.js中添加以下配置

chainWebpack: config => {
	config.plugins.delete('preload')
	config.plugins.delete('prefetch')
	config.entry('app').clear().add('./src/main.js').end()
},
pluginOptions: {
	electronBuilder: {
		nodeIntegration: true,
		builderOptions: {
			appId: 'com.YourAppId',
			"productName": "YourApp",
		}
	}
}

从零搭建vue+electron桌面应用,vue.js,electron,前端

作完以上步骤之后,会在src根目录生成background.js,这个文件就是electron的主进程配置文件,可以在里面写一些electron的配置信息
从零搭建vue+electron桌面应用,vue.js,electron,前端

二、运行项目

npm run electron:serve

输入以上命令等待片刻就可以打开应用了
从零搭建vue+electron桌面应用,vue.js,electron,前端

三、打包

npm run electron:build

打包过程中可能会遇到报错

Get “https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z”: dial tcp 20.205.243.166:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
/Volumes/data/Documents/app-builder/pkg/download/downloader.go:206
github.com/develar/app-builder/pkg/download.(*Downloader).follow
/Volumes/data/Documents/app-builder/pkg/download/downloader.go:234
github.com/develar/app-builder/pkg/download.(*Downloader).DownloadNoRetry
/Volumes/data/Documents/app-builder/pkg/download/downloader.go:128
github.com/develar/app-builder/pkg/download.(*Downloader).Download
/Volumes/data/Documents/app-builder/pkg/download/downloader.go:112
github.com/develar/app-builder/pkg/download.DownloadArtifact
/Volumes/data/Documents/app-builder/pkg/download/artifactDownloader.go:107
github.com/develar/app-builder/pkg/download.ConfigureArtifactCommand.func1
/Volumes/data/Documents/app-builder/pkg/download/artifactDownloader.go:27
github.com/alecthomas/kingpin.(*actionMixin).applyActions
/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:222
main.main
/Volumes/data/Documents/app-builder/main.go:90
runtime.main
/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go:225
runtime.goexit
/usr/local/Cellar/go/1.16.5/libexec/src/runtime/asm_amd64.s:1371

这是因为网络的原因导致的,遇到这种情况只能手动下载对应的包,然后粘贴到对应的目录
以报错代码为例,手动下载:https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z
然后将其复制到下图的目录中(你的目录地址不一定和我的一样,需要根据找到自己的目录地址)
从零搭建vue+electron桌面应用,vue.js,electron,前端
下载完成后重新执行

npm run electron:build

四、渲染进程和主进程通信

1.在background.js中引入ipcMain并书写监听代码

引入ipcMain

import { app, protocol, BrowserWindow, ipcMain } from 'electron'

书写监听代码

// 在主进程中监听消息 第一个参数为事件名称,第二个参数为回调函数
ipcMain.on('message-from-renderer', (event, str) => {
	console.log('主进程收到消息:',str) // 打印从渲染进程接收到的消息
	event.sender.send('message-to-renderer', 'Reply from main process') //给渲染进程发送消息
})

2.在vue组件中引入ipcRenderer并发送消息

引入ipcRenderer

const { ipcRenderer } = require('electron')

给主进程发送消息

ipcRenderer.send('message-from-renderer', '消息字符串')

监听主进程发送过来的消息文章来源地址https://www.toymoban.com/news/detail-584962.html

ipcRenderer.on('message-to-renderer', (event, message) => {
  console.log(message) // 输出接收到的回复消息
})

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

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

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

相关文章

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

    以下是必要的技术: Electron 13.0.0 Vue3 + TS Electron-updater Node 16.13.1 Element-plus Less Meansjs 安装Vue-cli(如果未安装): npm install -g @vue/cli 创建Vue3项目: vue create electron-vue3 启动项目: yarn serve 安装Electron: vue add electron-builder 启动项目: yarn electron:serve 如果报错,需要安装ts-loader: yar

    2023年04月26日
    浏览(70)
  • vite + electron 构建前端桌面应用程序

    npm yarn 选择是否继续 项目名称 选择框架 选择项目语言 项目构建成功,根据提示进入项目目录,安装依赖 electron 官网:https://www.electronjs.org/zh/docs/latest/ vite-plugin-electron :https://github.com/electron-vite/vite-plugin-electron 安装依赖(electron 安装比较慢,耐心等待即可) 编写 Electron 入

    2024年02月06日
    浏览(41)
  • 前端桌面应用开发实践:Electron入门指南

    随着互联网的快速发展,前端开发不再局限于网页应用,而是逐渐涉及到桌面应用的开发。Electron作为一种流行的前端桌面应用开发框架,为开发者提供了一种快速构建跨平台桌面应用的方式。本文将介绍Electron的基本概念和使用方法,并通过一个简单的示例来说明其开发实践

    2024年02月11日
    浏览(38)
  • Electron + Vue3 + Vite + TS 构建桌面应用

    之前是使用React、Electron、TS和webpack来构建桌面应用的。虽然功能齐全,但是打包等等开发的体验不太理想,总感觉太慢了。作为一个开发者,我们总是希望,执行构建命令后,可以快速打包或者启动本地应用,且通过更少的配置,来完成开发体验。 现在的vite已经得到广泛的

    2024年02月14日
    浏览(40)
  • electron+Vue3构建桌面应用之IPC通讯

    最近在做一个C/S架构的项目预研 过程中遇到 Electron 与 Vue3 通讯的问题,费劲巴力的在网上找方案,发现都不理想,最终攻克之后,计划将过程写下来,供有需求的同学白嫖! 开始之前,先说一件重要的事情: 看文档 看官方文档 一定要看官方文档 好,言归正传。 先说需求

    2024年04月29日
    浏览(24)
  • 新星计划 Electron+vue2 桌面应用 2 项目编写

    练手的项目,需求简单,打算做平面设计社交类的软件。 练手用,简单处理,写个简单的记事本,本地保存txt,能导出为其他格式的文件。 获取用户的网卡地址用于数据加密,本地保存加密后的文件,导出为明文数据。 可以选择系统样式、自定义日志路径,可见软件信息(版

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

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

    2023年04月09日
    浏览(60)
  • 已经打包好了的vue dist文件夹,如何用electron打包成exe桌面应用

    先在项目根目录下(非dist根目录)安装electron electron-packager 再在项目根目录下(非dist根目录)安装electron-packager 然后在dist文件夹下创建main.js文件,内容为 再创建一个文件package.json 在非dist文件夹(注意,是非dist文件夹,就是原本没打包的项目文件里)的package.json文件里,改

    2024年02月19日
    浏览(39)
  • electron+vue3全家桶+vite项目搭建【25】使用electron-updater自动更新应用

    demo项目地址 electron-updater官网 我们不可能每次发布新的版本都让用户去手动下载安装最新的包,而是应用可以自动下载新包进行覆盖安装,electron-updater就可以非常方便的实现这个功能 引入依赖 实测用pnpm安装打包运行会有问题,这里还是推荐使用npm管理依赖 配置electron-bui

    2024年02月14日
    浏览(33)
  • 前端10年进化 Node.js、模块化、CommonJS、AMD、CMD、Webpack、Vue-cli、Electron-vue

    模块化的概念在软件开发领域已经存在很长时间,但在 JavaScript 中的模块化发展相对较晚。以下是对您提出的问题的回答: 提出时间:JavaScript 中的模块化概念相对较早地提出于 CommonJS 规范。CommonJS 是一种 JavaScript 模块化规范,最早在 2009 年由 Ryan Dahl 和其他社区成

    2024年02月11日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包