vue打包的dist文件,再使用eletron打包为exe

news/2024/10/30 20:15:31/

1.下载eletron demo

demo

2.npm install

2.1如遇443,使用eletron镜像专用源,参考链接
[eletron]RequestError: connect ETIMEDOUT 20.205.243.166:443,为eletron设置专用源。

3.在electron-quick-start-main下粘贴dist

在这里插入图片描述

4.再粘贴static/logo.ico(大小256*256[必须])

用来修改软件图标,大小必须256*256

5.再修改main.js

5.1改变了index.html路径

javascript">  mainWindow.loadFile('dist/index.html')

5.2创建系统托盘并改变系统托盘图标
5.3内容如下:

javascript">// Modules to control application life and create native browser window
const { app, BrowserWindow } = require('electron')
const path = require('node:path')function createWindow () {// Create the browser window.const mainWindow = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})// and load the index.html of the app.// mainWindow.loadFile('index.html')mainWindow.loadFile('dist/index.html')// Open the DevTools.// mainWindow.webContents.openDevTools()
}// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {createWindow()app.on('activate', function () {// On macOS it's common to re-create a window in the app when the// dock icon is clicked and there are no other windows open.if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {if (process.platform !== 'darwin') app.quit()
})// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.// 创建系统托盘(和托盘事件)和改变.exe文件图片为logo.ico---------------开始
const { Tray, Menu } = require('electron');
let tray = null;app.on('ready', () => {// 使用你指定的图标const iconPath = path.join(__dirname, 'static', 'logo.ico'); // 获取绝对路径// 创建系统托盘tray = new Tray(iconPath);// 创建上下文菜单const contextMenu = Menu.buildFromTemplate([{ label: 'Item 1', click: () => { console.log('Item 1 clicked'); } },{ label: 'Item 2', click: () => { console.log('Item 2 clicked'); } },{ type: 'separator' },{ label: 'Quit', click: () => { app.quit(); } }]);// 设置托盘的上下文菜单tray.setToolTip('This is my application.');tray.setContextMenu(contextMenu);// 可以添加托盘的点击事件tray.on('click', () => {console.log('Tray icon clicked');// 这里可以打开窗口或其他操作});
});// 处理应用退出时的操作
app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit();}
});
// 创建系统托盘和改变.exe文件图片为logo.ico---------------结束

6.最后进行打包,在package.json,添加打包命令

6.1打包命令

javascript">  "scripts": {"start": "electron .","make-win": "npx electron-packager ./ custom-package-name --platform=win32 --arch=x64 --out=jimmy-dist --overwrite --icon=./static/logo.ico"},

6.2完整package.json

javascript">{"name": "electron-quick-start","version": "1.0.0","description": "A minimal Electron application","main": "main.js","scripts": {"start": "electron .","make-win": "npx electron-packager ./ custom-package-name --platform=win32 --arch=x64 --out=jimmy-dist --overwrite --icon=./static/logo.ico"},"repository": "https://github.com/electron/electron-quick-start","keywords": ["Electron","quick","start","tutorial","demo"],"author": "GitHub","license": "CC0-1.0","devDependencies": {"electron": "^33.0.2"}
}

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

相关文章

基于Django+Python的房屋信息可视化及价格预测系统设计与实现(带文档)

项目运行 需要先安装Python的相关依赖:pymysql,Django3.2.8,pillow 使用pip install 安装 第一步:创建数据库 第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句 第三步:修改源…

BGP路径属性与路由反射器

前言 IBGP水平分割规则用于防止AS内部产生环路,在很大程度上杜绝了IBGP路由产生环路的可能性,但是同时也带来了新的问题:BGP路由在AS内部只能传递一跳,如果建立IBGP对等体全互联模型又会加重设备的负担。 BGP 路径属性 AS_Path …

为什么不建议使用黑帽SEO手法?

黑帽SEO,是指采用一些违反谷歌搜索引擎规则的手段,短期内提升排名的做法。很多不法SEO服务商,会通过隐藏文字、伪造内容、堆砌关键词、群发垃圾外链等方式,让网站在短时间内获得大量流量和排名。 虽然这种方式看似有效&#xff0c…

一些小细节代码笔记汇总

Python cv2抓取摄像头图片保存到本地 import cv2 import datetime, ossavePath "E:/Image/"if not os.path.exists(savePath):os.makedirs(savePath)cap cv2.VideoCapture(0) capture Falseif not cap.isOpened():print("无法打开摄像头")exit()while…

oracle获取中文拼音/WB

1.oracle获取中文拼音首字母 CREATE OR REPLACE FUNCTION FUNC_GET_PY(z varchar2) RETURN varchar2 ISpy varchar2(20); --与源字符对应的拼音码curr_no integer; --当前字符序号maxlen integer; --z(源字符串)的最大长度l_schar varchar2(100); --截取后的源字符…

Github优质项目推荐(第八期)

文章目录 Github优质项目推荐 - 第八期一、【manim】,66.5k stars - 创建数学动画的 Python 框架二、【siyuan】,19.5k stars - 个人知识管理软件三、 【GetQzonehistory】,1.3k stars - 获取QQ空间发布的历史说说四、【SecLists】&#xff0…

emacs修改xml文件编码

最近修改了一个老Java项目,数据库中文乱码导致某些页面没有数据。查看处理数据库内容的XML文件的编码有GBK、GB2312、UTF-8,乱成一锅粥。为了统一成UTF-8,需要进入jar包修改XML文件。尝试过解jar包改编码再重新打jar包500的错误后&#xff0c…

C语言之长整型有符号数与短整型有符号数转换

最近考证的新星,问了一个问题:int a 1234565789;为什么在输出%hd时的值为-1379?其实这个很简单,只不过对于可能初入“编程坑”以及经验不是很丰富的朋友来说,感觉知道这么个道理,但就是解释不上来&#xf…