当前位置: 首页 > news >正文

通过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.lryc.cn/news/313449.html

相关文章:

  • 大模型时代企业知识全生命周期管理解决方案
  • C#冒泡排序算法
  • 【前端寻宝之路】总结学习使用CSS的引入方式
  • Python中输入输出函数input和print用法
  • 简单认识Linux
  • javascript正则深入
  • React-封装自定义Hook
  • Spark实战-基于Spark日志清洗与数据统计以及Zeppelin使用
  • Springboot中Redis的配置使用
  • 【node版本问题】运行项目报错 PostCSS received undefined instead of CSS string
  • Spring揭秘:BeanDefinitionRegistry应用场景及实现原理!
  • 蓝桥杯(3.5)
  • 434G数据失窃!亚信安全发布《勒索家族和勒索事件监控报告》
  • 7-18 彩虹瓶(Python)
  • php使用ElasticSearch
  • wpf prism左侧抽屉式菜单
  • 揭秘AI新纪元:近期人工智能发展的惊人突破与未来展望
  • C语言基础练习——Day01
  • 用云手机进行舆情监测有什么作用?
  • 神经网络(neural network)
  • 微信小程序用户登陆和获取用户信息功能实现
  • 2024年3月8日 晨会汇报
  • 去电脑维修店修电脑需要注意什么呢?装机之家晓龙
  • 国家妇女节放假是法定的假日
  • Pytorch线性回归实现(Pycharm实现)
  • 2024新疆专升本考试报名教程详解
  • unicloud 云数据库概念及创建一个云数据库表并添加记录(数据)
  • 想交易盈利?Anzo Capital昂首资本发现了一本畅销书
  • 美国站群服务器租用需要考虑哪些关键点
  • 如何构建Hive数据仓库Hive 、数据仓库的存储方式 以及hive数据的导入导出