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

electron: 将网址打包成exe桌面应用

项目场景:

在项目开发的过程中,需要将应用搭建在不同的硬件上。如需要在一个触屏显示器上展示企业相关的应用。

如果专门去开发一个这样的应用,不划算;这时候考虑将网址打包成exe应用,并安装触屏器上,就可以满足客户的需求。

项目就是为了特定的目的,消耗一定的资源,在确定的时间内,提供特定的产品。同时也要注意,产品不一样要最好的,但是一定要是合适的,满足客户需求的。


解决方案

目前主要解决方案有三种:一种是让第三方进行打包,还有一种是用Nativefier, 最后一种是用electron进行打包。

首先用第三方打包,优点是方便,确定是要花钱。

其次是Nativefier,这个可以下载对应的应用,然后用命令的方式直接打包,优点是免费,方便,缺点是logo设置优点麻烦,一般只能在本地使用,不能给其他人安装,不然logo容易丢失。以下是自己用Nativefier进行打包的教程。

https://blog.csdn.net/weixin_44565776/article/details/139435103

最后一种是用electron进行打包,优点是方便,并且可以随意转发给其它人安装使用,缺点是logo需要特定的尺寸,一般为256*256,推荐格式是ico格式,打包有点麻烦。

最终我选择了最后一种方案。因为便宜又好用。


代码实施:

nodejs版本:20.10.0

因为在下载electron的过程中,需要在29.1.6以上版本,所以在下载时要注意;以下是package.json的代码,可以按照这个包进行下载安装。

{"name": "electron-app","version": "1.0.0","description": "","main": "index.js","scripts": {"start": "electron-forge start","build": "electron-builder --win",  "test": "echo \"Error: no test specified\" && exit 1"},"build": {"productName": "百度",//打包应用名称"directories": {"output": "out" },"win": {"icon": "./icon/favicon.ico","target": [{"target": "nsis","arch": ["x64","ia32"]}]},"nsis": {"oneClick": false,"allowElevation": true,"allowToChangeInstallationDirectory": true,"installerIcon": "./icon/favicon.ico",//打包logo"uninstallerIcon": "./icon/favicon.ico",//打包logo"installerHeaderIcon": "./icon/favicon.ico",//打包logo 以上lkogo推荐用一个"createDesktopShortcut": true,"createStartMenuShortcut": true,"shortcutName": "百度"//打包应用名称}},"keywords": [],"author": "","license": "ISC","devDependencies": {"@electron-forge/cli": "^7.4.0","electron": "^29.1.6","electron-builder": "^24.13.3"}
}

以下是index.js的代码:

const { app, BrowserWindow } = require('electron')
const createWindow = () => {// 创建浏览器窗口const win = new BrowserWindow({autoHideMenuBar: true,})// 全屏win.maximize()// 载入要打包的网页链接win.loadURL('https://www.baidu.com/')
}// 应用程序准备好后加载窗口
app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// 窗口关闭后退出应用程序
app.on('window-all-closed', () => {if (process.platform !== 'darwin') app.quit()
})

有以上两块核心代码,然后自己创建一个。


收获:

在运用这个应用我给多位客户打包过网址,并还赚了几百大洋的零花钱。

如果你需要网址打包,可以@我哈!

http://www.lryc.cn/news/435357.html

相关文章:

  • 【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
  • 2024/9/10 小型PLC典型应用1:含步进电机+变频器+触摸屏
  • RGB与CMYK互转
  • 滴~“TOP期刊体验卡”已到期!公认水刊的尽头,还得是你MDPI
  • ASUS华硕ROG幻16 Air 2024款锐龙AI版GA605WI,GA605WV工厂模式原厂Win11系统,含MyASUS WinRE恢复重置还原功能
  • 想入行在线教育?你必须知道的十件事
  • EasyExcel相关整理
  • 2024年【汽车驾驶员(技师)】考试题及汽车驾驶员(技师)找解析
  • [C#学习笔记]接口的特性与用法
  • java发送邮件报错,Could not connect to SMTP host: smtp.exmail.qq.com, port: 465
  • 开放式耳机有哪些好处?性价比排行前十的四款蓝牙耳机推荐
  • FreeRTOS(速记版)
  • 解锁中东市场新蓝海:Bigo社交媒体如何赋能APP广告营销优势
  • 【网络】DNS
  • 如何使用ChatGPT,完成学术论文文献综述的编写?
  • 探索GPU算力在大模型和高性能计算中的无限潜能
  • 【信创】统信UOS图形界面登录闪退的解决方法
  • 排序(插入,希尔,选择,堆,冒泡,快速,归并,计数)
  • 【recast-navigation/源码解析】findStraightPath详解以及寻路结果贴边优化
  • ‌移动管家手机智能控制汽车系统
  • 828华为云征文|华为云Flexus X实例Redis性能加速评测及对比
  • 【OpenCV3】图像的翻转、图像的旋转、仿射变换之图像平移、仿射变换之获取变换矩阵、透视变换
  • 不要认为996是开玩笑
  • 精益工程师资格证书:2024年CLMP报名指南
  • 【Unity基础】如何选择脚本编译方式Mono和IL2CPP?
  • 写在OceanBase开源三周年
  • 【笔记】408刷题笔记
  • GitHub Star 数量前 13 的自托管项目清单
  • js实现生成随机数值的数组
  • 视频怎么转换成mp3格式?分享5种便捷的转换方法