通过Electron打包前端项目为exe

 🧑‍🎓 个人主页:爱蹦跶的大A阿

🔥当前正在更新专栏:《JavaScript保姆级教程》、《VUE》、《Krpano》

✨ 正文

1、 拉取electron官网上的demo,拉下来之后安装依赖,项目跑起来之后,就不用管demo了,开始配置自己的Vue项目

git clone https://github.com/electron/electron-quick-start
npm i
npm run start

2、修改自己项目的vue.config.js,路径必须修改为 ./,不是这个后续打包好的页面可能会出现白屏,加载不出来的情况

module.exports = {   publicPath: './',   
} 

3、打包自己的Vue项目,这步应该很熟了,将打包出来的 dist 文件夹复制到之前拉取的electron-quick-start文件夹中,和node_modules同级就行

npm run build

 然后咱自己的项目就不用管了,剩下的就交给拉下来的electron-quick-start项目吧

4、在electron-quick-start项目中,下载打包需要的依赖 electron-packager

npm install electron-packager --save-dev

5、进入electron-quick-start项目,删除项目根目录下的 index.html 文件

6、在electron-quick-start项目中找到入口文件 main.js ,修改打包的文件路径为我们的index.html(替换成我们的文件非常非常的重要,注意行数,一般都在16行多一点)

// main.js 原始内容 
mainWindow.loadFile('index.html') 
// 修改后的内容 
mainWindow.loadFile('./dist/index.html')*

 

7、在electron-quick-start项目中,进入 package.json ,在 scripts 中添加 packager 指令,如下所示:

"scripts": { 
"start": "electron .", 
"packager": "electron-packager ./ App --platform=win32 --arch=x64 --overwrite"
} 

8、运行命令打包,然后项目中会出现一个 App-win32-x64 的文件夹,这个文件就是打包好的桌面应用,文件夹里有一个 App.exe 文件,App.exe就是这个项目的启动文件

npm run packager

9、打包完以后,项目中会出现 App-win32-x64文件夹,进去之后,双击App.exe就可以访问了

BrowserWindow选项所有配置

BrowserWindow构造函数接受一个options对象,用于配置新窗口的属性。以下是所有可用选项的列表:

  1. width (Integer) - 窗口的宽度(以像素为单位)。默认为800
  2. height (Integer) - 窗口的高度(以像素为单位)。默认为600
  3. x (Integer) - 窗口的左上角的 x 坐标。
  4. y (Integer) - 窗口的左上角的 y 坐标。
  5. useContentSize (Boolean) - widthheight是否使用Web内容的大小。默认为false
  6. center (Boolean) - 窗口在屏幕上是否居中。
  7. minWidth (Integer) - 窗口的最小宽度。
  8. minHeight (Integer) - 窗口的最小高度。
  9. maxWidth (Integer) - 窗口的最大宽度。
  10. maxHeight (Integer) - 窗口的最大高度。
  11. resizable (Boolean) - 窗口是否可调整大小。默认为true
  12. movable (Boolean) - 窗口是否可移动。这在Linux上无效。默认为true
  13. minimizable (Boolean) - 窗口是否可最小化。默认为true
  14. maximizable (Boolean) - 窗口是否可最大化。默认为true
  15. closable (Boolean) - 窗口是否可关闭。默认为true
  16. focusable (Boolean) - 窗口是否可聚焦。默认为true
  17. alwaysOnTop (Boolean) - 窗口是否永远在其他窗口的顶部。默认为false
  18. fullscreen (Boolean) - 窗口是否是全屏的。设置为false以创建非全屏窗口,这是默认值。
  19. fullscreenable (Boolean) - 窗口是否可切换到全屏状态。默认为true
  20. simpleFullscreen (Boolean) - 使用预先设置的简单(预置)全屏模式启用全屏。默认为false
  21. skipTaskbar (Boolean) - 是否在任务栏中显示窗口。默认为false
  22. kiosk (Boolean) - 是否创建无边框窗口。默认为false
  23. title (String) - 默认窗口标题。默认为"Electron"
  24. icon (String) -在任务栏上使用的图标。
  25. show (Boolean) - 窗口是否在创建时显示。默认为true
  26. frame (Boolean) - 设置为false以在无框模式下运行窗口。默认为true
  27. parent (BrowserWindow) - 设置父窗口。
  28. modal (Boolean) - 是否创建模态窗口。默认为false
  29. acceptFirstMouse (Boolean) - 是否允许在模态窗口获得焦点前发送鼠标事件。
  30. disableAutoHideCursor (Boolean) - 是否隐藏光标在一段时间不活动后。默认为false
  31. autoHideMenuBar (Boolean) - 自动隐藏菜单栏,除非按下Alt键。默认为false
  32. enableLargerThanScreen (Boolean) - 是否允许更改窗口大小超过屏幕大小。默认为false
  33. backgroundColor (String) - 窗口的背景颜色为16进制值。默认为#FFF(白色)。
  34. hasShadow (Boolean) - 设置为true为窗口添加阴影。默认为true
  35. opacity (Number) - 设置窗口的初始不透明度,介于0.0(完全透明)和1.0(完全不透明)之间。
  36. darkTheme (Boolean) - 强制窗口使用深色主题,只在一些GTK+3桌面环境下有效。默认为false
  37. transparent (Boolean) - 使窗口透明。默认为false
  38. type (String) - 窗口的类型,默认为常规窗口。详见文档。
  39. titleBarStyle (String) - 标题栏的样式,默认是default。详见文档。
  40. trafficLightPosition (Object) - 设置窗口控制UI的位置。
  41. webPreferences (Object) - 设置网页功能。详见文档。
  42. vibrancy (Object) - 将窗口渲染为一个模糊的地区。
  43. zoomToPageWidth (Boolean) - 控制是否在创建窗口时缩放为页面宽度,以防止过小的书写。默认为false

✨ 结语

        

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

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

相关文章

第十篇 - 如何利用人工智能技术做好营销流量整形管理?(Traffic Shaping)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市​​​​​​​。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先…

上海计算机学会竞赛平台2024.1月月赛丙组T1 成绩等第题解

题目描述 给定一个在到之间的整数 ,请将它转成等第,规则如下: 为 A为 B为 C为 D为 F 输入格式 单个数字表示 输出格式 单个字符表示答案 数据范围 样例数据 输入: 93 输出: A 输入: 44 输出: F

公网IP与私有IP及远程互联

1.公网有私有IP及NAT 公网IP是全球唯一的IP,通过公网IP,接入互联网的设备是可以访问你的设备。但是IPV4资源有限,一般ISP(Internet Service Provider)并不会为用户提供公网IP。所以家里的计算机在公司是没法直接使用windows远程桌面直接访问…

Find My产品越来越得到市场认可,伦茨科技ST17H6x芯片赋能厂家

苹果发布AirTag发布以来,大家都更加注重物品的防丢,苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch,如今的Find My已经不单单可以查找苹果的设备,随着第三方设备的加入,将丰富Find My Network的版图。产…

LCR 164. 破解闯关密码

解题思路&#xff1a; 贪心 class Solution {public String crackPassword(int[] password) {String[] strs new String[password.length];for(int i 0; i < password.length; i)strs[i] String.valueOf(password[i]);Arrays.sort(strs, (x, y) -> (x y).compareTo(…

考研复习c语言初阶(1)

本人准备考研&#xff0c;现在开始每天更新408的内容&#xff0c;目标这个月结束C语言和数据结构&#xff0c;每天更新~ 一.再次认识c语言 C语言是一门通用计算机编程语言&#xff0c;广泛应用于底层开发。C语言的设计目标是提供一种能以简易 的方式编译、处理低级存储器、产生…

WordPress建站入门教程:如何选择和设置固定链接结构?

我们成功搭建好WordPress网站后&#xff0c;发布的文章对应的URL地址默认是使用“日期和名称型”&#xff0c;即是网站域名跟着的是年月日&#xff0c;最后是文章标题&#xff0c;如http://www.yigujin.com/2024/03/06/免费响应式WordPress博客主题JianYue/ 为了让我们的文章U…

委员建议进一步扩大香港与内地金融市场互联互通发展

在我们共同追寻金融发展的星辰大海之际&#xff0c;我怀着无比激动的心情&#xff0c;向诸位委员提议进一步扩大香港与内地金融市场互联互通发展。这个议题犹如一颗璀璨的明珠&#xff0c;闪耀着诱人的光芒&#xff0c;吸引着我们为之奋斗。让我们共同探讨这一话题&#xff0c;…

在【IntelliJ IDEA】中配置【Tomcat】【2023版】【中文】【图文详解】

作为一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;IntelliJ IDEA为Web服务器提供了卓越的支持&#xff0c;从而极大地简化了程序员在Web开发过程中的工作流程。学习Java Web开发实质上就是掌握如何创造动态Web资源&#xff0c;这些资源在完成开发后&…

server win搭建apache网站服务器+php网站+MY SQL数据库调用电子阅览室

一、适用场景&#xff1a; 1、使用开源的免费数据库Mysql&#xff1b; 2、自己建网站的发布&#xff1b; 3、使用php代码建网站&#xff1b; 4、使用windows server作为服务器&#xff1b; 5、使用apache作为网站服务器。 二、win server 中apache网站服务器搭建 &#xff0…

UUU.咕咚视频批量混剪软件下载,批量剪辑个体无限批量生成,批量合成视频,批量混剪视频的软件是什么样的?批量剪辑软件在哪下载?批量混剪软件下载容易吗?

[md]# 前言 工具的产生源于dy出的火山引擎的云视频混剪制作是按分钟数收费的&#xff0c;这个软件既能实现正常混剪也能避免二次收费。属于FFMPEG合成的。 欢迎大家给一些好的建议和功能&#xff0c;回复可见&#xff0c;附加了一些天卡&#xff0c;周卡&#xff0c;请大家不要…

excel统计分析——重复测量设计

参考资料&#xff1a;生物统计学 裂区设计中的裂区通常是指空间上的裂区&#xff0c;如果对试验指标进行连续测量时&#xff0c;时间也可以作为裂区因素。重复测量设计实际上就是时间裂区设计。进行试验结果的统计分析时&#xff0c;将试验因素作为主区&#xff0c;时间因素作为…

OPC UA 学习:文件传输

本博文是OPC 10000-20: UA Part 20: File Transfer 的学习笔记。 OPC UA的客户端需要读写服务器端的文件&#xff0c;OPCUA 规范中&#xff0c;是通过文件模型实现的。客户端通过调用文件模型中的方法来处理文件。 在控制系统中&#xff0c;需要下载配置文件&#xff0c;工艺文…

苍穹外卖学习-----2024/03/08

1.新增菜品 工具类AliOssUtil .java Data AllArgsConstructor Slf4j public class AliOssUtil {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;/*** 文件上传** param bytes* param objectName* return*/pub…

准谐振PWM控制器-能够实现多种保护功能FAN6921MRMY 功率因数控制器

高度集成的FAN6921MRMY将功率因数控制器 (PFC) 和准谐振 PWM 控制器相结合。集成提供了成本高效的设计&#xff0c;可减少外部组件数量。对于 PFC&#xff0c;FAN6921MRMY使用控制导通时间技术提供调节的直流输出电压&#xff0c;执行自然的功率因数校正。FAN6921MRMY使用创新的…

微服务超大Excel文件导出方案优化

1、在导出Excel时经常会碰到文件过大&#xff0c;导出特别慢 2、微服务限制了请求超时时间&#xff0c;文件过大情况必然超时 优化思路&#xff1a; 1、文件过大时通过文件拆分、打包压缩zip&#xff0c;然后上传到oss,并设置有效期&#xff08;30天过期&#xff09; 2、把…

基于交叉表生成风控规则(Python)

大家好&#xff0c;我是东哥。 规则是风控策略中最常用的工具之一&#xff0c;生成、筛选、监控、调优&#xff0c;几乎每天都在打交道&#xff0c;本篇来介绍如何基于交叉表来生成风控规则&#xff0c;并且如何基于评估指标进行筛选。 出品人&#xff1a;东哥起飞 专栏&#…

【Spring Boot 源码学习】BootstrapContext的实际使用场景

《Spring Boot 源码学习系列》 BootstrapContext的实际使用场景 一、引言二、往期内容三、主要内容3.1 BootstrapContext3.2 BootstrapRegistry 初始化器实现3.3 BootstrapContext 的实际使用场景3.3.1 早期启动时3.3.2 环境配置准备完成时3.3.3 应用上下文准备完成后关闭 Boot…

Android增量报告生成新方案

在开发精准测试覆盖率相关的功能时候&#xff0c;对于Android的增量报告&#xff0c;由于担心修改jacoco插件会影响App的打包&#xff0c;所以一直没有修改。在网上查了一下&#xff0c;没有找到合适的方案。只有一个diff-cover开源项目&#xff1a;https://github.com/abmaonl…

Yolov8-pose关键点检测:SPPF创新涨点篇 | SPPELAN:SPP创新结合ELAN ,效果优于SPP、SPPF| YOLOv9

💡💡💡本文独家改进:新颖SPPF创新涨点改进,SPP创新结合ELAN,来自于YOLOv9,助力YOLOv8-pose,将SPPELAN代替原始的SPPF SPPELAN结构图如下: Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.net/m0_63774211/category_12398833.html ✨✨✨手把手教你从数据标…