能找到该文章也大概知道electron干啥用的吧所以直接以下操作

1.安装 yarn add electron --dev 和 yarn add nodemon --dev
2.在package.json 写main入口和启动脚本
"main":"main.js", "start": "nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue"

"license": "MIT","main":"./electron/main.js", //我在根目录建的新文件electron/main.js 注意路劲 //新添加"scripts": {"dev": "vite","dev:prod": "vite --mode production","build:prod": "vite build","build:stage": "vite build --mode staging","preview": "vite preview","start": "nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue"  //新添加},

3.新建 main.js (electron配置文件)

const { app, BrowserWindow } = require('electron')
const createWindow = () => {const win = new BrowserWindow({// 窗口的大小// 窗口的大小//fullscreen: true   //全屏//frame: false,       //让桌面应用没有边框,这样菜单栏也会消失//  width: 800,         //设置窗口宽高//  height: 600,//  icon: iconPath,     //应用运行时的标题栏图标//  minWidth: 300,     // 最小宽度//  minHeight: 500,    // 最小高度//  maxWidth: 300,    // 最大宽度//  maxHeight: 600,    // 最大高度// 进行对首选项的设置show: false,webPreferences:{    // 定义预约加载的jspreload: path.resolve(__dirname, './preload/index.js')}// 当页面加载完毕的时候在显示窗口win.on('ready-to-show', () => {win.show()})})// 窗口打开的数据win.loadURL('http://localhost') //链接// win.loadFile('index.html')//文件
// 打开发开工商win.webContents.openDevTools()
}
//关闭黄色警告
`process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';app.whenReady().then(() => {createWindow()app.on('activate', () => {// 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()})
})// 除了 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', () => {if (process.platform !== 'darwin') app.quit()
})

恢复上次关闭窗口的位置和大小

安装 npm i electron-win-state --dev
main.js

const { app, BrowserWindow } = require('electron')
const WinState = require('electron-win-state').default
const winState = new WinState({})const createWindow = () => {const win = new BrowserWindow({...winState.winOptions,// 窗口的大小// 窗口的大小//fullscreen: true   //全屏//frame: false,      //让桌面应用没有边框,这样菜单栏也会消失//  width: 800,         //设置窗口宽高//  height: 600,//  icon: iconPath,     //应用运行时的标题栏图标//  minWidth: 300,     // 最小宽度//  minHeight: 500,    // 最小高度//  maxWidth: 300,    // 最大宽度//  maxHeight: 600,    // 最大高度// 进行对首选项的设置webPreferences:{    //   preload: path.resolve(__dirname, './preload/index.js')}})winState.manage(win)// 窗口打开的页面win.loadURL('http://localhost') //链接// win.loadFile('index.html')//文件
// 打开发开工商win.webContents.openDevTools()winState.manage(win)}app.whenReady().then(()=> {createWindow()
})

添加菜单

创建 menu.js文件 之后 main.js引入 require('./menu') //注意路劲

const { Menu } = require("electron");
const menuTemplate = [{label:"文件", // 菜单名submenu:[ // 二级菜单{label:'新建',accelerator:'ctrl+n', // 快捷键click:()=>{ // 点击事件console.log("create file")}},{type: 'separator'}, // 分割线{label:'打开',},{label:'保存',}],},{label:"编辑",submenu:[ {label:'复制', role:'copy', // 快捷键与系统冲突时可以使用role属性指定click:()=>{ console.log("copy")}},{label:'粘贴',role:'paste',click:()=>{console.log("paste")}},{label:'保存',}],},
]
const menuBuilder = Menu.buildFromTemplate(menuTemplate)
Menu.setApplicationMenu(menuBuilder)

打包

1.安装 yarn add electron-builder --dev 会安装在package.json文件下的devDependencies里
![在这里插入图片描述](https://img-blog.csdnimg.cn/78ef0721f23d4a17aec08cc02d9f20d9.png

2.package.json 添加

  "name": "electron-demo","version": "1.0.0","author": "your name","description": "My Electron app","main": "./electron/main.js", //注意 文件位置//新添加"scripts": {"start": "nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue","electron-builder": "electron-builder"},"build": {"productName": "electron-demo",   // 安装包文件名"directories": {"output": "dist"  // 安装包生成目录},"nsis": {"oneClick": false,  // 是否一键安装"allowToChangeInstallationDirectory": true    // 允许用户选择安装目录},"mac": {"category": "your.app.category.type"},"win": {"icon": "build/icons/food.png",   // 安装包图标,必须为 256 * 256 像素图片"target": [{"target": "nsis"}]}},

3.打包 yarn electron-builder

出现exe 可以点击安装 就可以了

修改electron图标

1…安装 yarn add electron-icon-builder
2.package.json添加

  "scripts": {"electron:generate-icons": "electron-icon-builder --input=./public/icon.png --output=build --flatten"},"win": {"icon": "build/icons/11.ico",//注意目录 和文件名称"target": [{"target": "nsis"}]}

3.运行 yarn electron:generate-icons 完成后 根目录自动生成build/icons文件 在里面放入ico/png图
注意: 图得需要256*256大小的 ,ico和png图都可已 已经试过了

官方回答:
Optional icon.ico (Windows app icon) or icon.png. Icon size should be at least 256x256.
needs to be placed in the buildResources directory (defaults to build). It is important to provide icon.ico (or icon.png), as otherwise the default Electron icon will be used.翻译
'可选icon.ico(Windows应用程序图标)或icon.png。图标大小应至少为256x256。需要放置在buildResources目录中(默认为build)。提供icon.ico(或icon.png)很重要,否则将使用默认的Electron图标。

4.打包 yarn electron-builder //根据自己的配置打包

electron起步基本和electron打包 electron无脑步骤(修改electron图标)相关推荐

  1. Electron那些事02:打包

    [打包] 接上回 Electron那些事01:起步_uikoo9的专栏-CSDN博客 简单介绍了electron,以及使用electron做了一个桌面应用demo, 相信大家现在最想做的事情就是将桌面 ...

  2. 2,【electron+vue】 构建桌面应用——常见的功能及问题(修改桌面图标,软件图标,窗口图标,图标不显示问题,影藏默认菜单栏,开机自启,手动或被动关闭应用)

    一.修改桌面图标,软件图标或者窗口左上角的图标. 1.首先这些图标必须是 .ico 结尾的图片,如果你将其他格式的图片改成.ico的,也不行哦,至于为什么,我也没深入研究,按着规定来就好. 2.如何获 ...

  3. 破解修改 Electron 软件 | 游戏

    更新:用这个7Zip插件可以直接解压asar,但对于被加密过的仍旧没办法,例如CocosCreator Electron 是 Github 发布跨平台桌面应用开发工具,支持 Web 技术开发桌面应用开 ...

  4. 使用vs2019和pyinstaller将py文件打包成一个exe文件(含图标),pyinstaller安装失败解决方案

    1.什么是pyinstaller 参见这篇文章: https://gwj1314.blog.csdn.net/article/details/79775764 PyInstaller是一款可以把py解 ...

  5. 沉睡者IT - 中视频破10万播放秘诀,只需一个无脑动作

    很多朋友操作中视频计划项目,对于破播放比较头疼,其实中视频想要突破10万播放,只要学会一个无脑动作就能让用户上瘾,就跟谈恋爱似的,男人是永远拒绝不了懂他的女人的. 那这个破播放的秘诀,各行业是通用的, ...

  6. 无脑单细胞竟会走迷宫、规划交通路线,这种难以归类的生物重定义了智能

    本文转载自公众号SME 在电子游戏的一般套路设定下,蠢萌的史莱姆总是那个最低级的怪物. 它们几乎没有智商可言,攻击手段单一且总是以动技能著称,正所谓"烂泥扶不上壁". 而纵观各个类 ...

  7. VS2013+openCV3.0无脑配置方法+解决警告问题【windows平台】

    VS2013+openCV3.0无脑配置方法+解决警告问题[windows平台] 参考文章: (1)VS2013+openCV3.0无脑配置方法+解决警告问题[windows平台] (2)https: ...

  8. 反编译sencha toucha打包的apk文件,修改应用名称支持中文以及去除应用标题栏

    一.去除安卓应用标题栏 sencha touch打包android安装包,去掉标题栏titlebar的简单方法 (有更复杂更好的方法,参看"二.利用反编译修改apk的应用名称为中文" ...

  9. 【PC工具】如何简单粗暴无脑的解方程

    都2020年了(二十一世纪快中叶了): 信息时代这么多年了,已经进入云计算时代了: 电脑都会下围棋了: 火箭都能回收了: ... 那么 问题就来了:我们是不是还要用手解方程呢?电脑能不能给爷(我)解方 ...

最新文章

  1. [WCF REST] 解决资源并发修改的一个有效的手段:条件更新(Conditional Update)
  2. java百度api人脸识别_百度人脸识别api demo
  3. mybatis学习笔记二(接口注解)
  4. 树形控件CTreeCtrl的使用详解(一)
  5. 一文深度解析线性表的前世今生!!!
  6. windows环境里React-Native运行失败,找不到Nullable的原因分析
  7. java 拉丁文 unicode_“java语言使用的是Unicode编码”是指的jvm?.java文件?
  8. 【动态规划】多重背包
  9. I must be strong and carry on
  10. 用php实现随机点名,使用javascript做的一个随机点名程序
  11. 第二十三章:准备原材料
  12. 二叉树的相关操作(c语言)
  13. python能做什么软件-初学python编程,有哪些不错的软件值得一用?
  14. 使用php制作wap网站
  15. [MTEX]EBSD_数据处理
  16. ARC093F - Dark Horse
  17. SQL 查询的分布式执行与调度
  18. Vijos - 古韵之鹊桥相会(最短路||DFS)
  19. 反向代理和正向代理的区别介绍
  20. 常用的java工具类

热门文章

  1. 患上“吃鸡”选择困难症?准确认识枪械很重要!
  2. android和平灵敏度,和平精英:灵敏度这样调,压枪才会稳!
  3. mysql和java时间戳查询
  4. 整站优化【三】整站排名最核心的技术是加词技术
  5. 医疗小程序源码 在线就诊 视频问诊源码 智慧医院源码
  6. 绝地求生12月18日服务器信息,绝地求生12月18日维护到几点 12.18吃鸡更新维护公告...
  7. python绘制柱状图设置间隔时间,Python数据可视化:5种绘制柱状图表的方法(附源码)...
  8. 电脑快捷键使用大全整理
  9. MySQL 错误代码:1055 解决方案(推荐!!)
  10. mysql8 密码破解