当前位置: 首页 > 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()
})

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


收获:

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

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

相关文章:

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

项目场景: 在项目开发的过程中,需要将应用搭建在不同的硬件上。如需要在一个触屏显示器上展示企业相关的应用。 如果专门去开发一个这样的应用,不划算;这时候考虑将网址打包成exe应用,并安装触屏器上,就可…...

【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)

文章目录 PyQt5超详细教程前言第7部分:生成图表与数据可视化7.1 matplotlib 与 PyQt5 的结合7.2 在 PyQt5 中嵌入 matplotlib 图表示例 1:嵌入简单的 matplotlib 图表代码详解: 7.3 动态生成图表示例 2:动态更新图表代码详解&…...

2024/9/10 小型PLC典型应用1:含步进电机+变频器+触摸屏

主要是讲脉冲控制步进,因为etherCat是标准化的,直接通过轴控指令即可控制;canopen也涉及轴控指令,但配置稍微有点不一样。 控制本体端口的步进,通过发脉冲或者脉冲定位信号。 但这个4PM只有单独的轴控指令,…...

RGB与CMYK互转

先定义一个CMYK数据结构: typedef struct struCMYK {int m_nC;int m_nM;int m_nY;int m_nK; }CMYK;RGB转CMYK void CvtRGB2CMYK(COLORREF& clr, CMYK& cmyk) {double dR GetBValue(clr) / 255.0;double dG GetGValue(clr) / 255.0;double dB GetRValue…...

滴~“TOP期刊体验卡”已到期!公认水刊的尽头,还得是你MDPI

【SciencePub学术】本期,给大家介绍的是1本MDPI旗下的计算机类SCI——《Remote Sensing》。 优点VS缺点 • 期刊分区一直维持在较高水平 • 审稿速度极快,1-2个月录用见刊 • 年刊文量大,收稿多 • 期刊自引率较高 • 期刊系统初筛较难 • …...

ASUS华硕ROG幻16 Air 2024款锐龙AI版GA605WI,GA605WV工厂模式原厂Win11系统,含MyASUS WinRE恢复重置还原功能

适用型号:【GA605WI、GA605WV】,原装出厂Windows11系统工厂包下载 链接:https://pan.baidu.com/s/1IVolLwB7fddGKZY0IxOqaA?pwd62e2 提取码:62e2 华硕原装系统工厂安装包,带有MyASUS WinRE RECOVERY恢复功能、自带…...

想入行在线教育?你必须知道的十件事

在最近几年受新冠疫情和异常天气的影响,越来越多的教育活动被迫转移到线上。然而,在线课程的短板也很明显,大部分在线教育工作者难以有效地引导学生集中注意力,并且无法像线下授课一样进行同步考试。 那么,有什么办法…...

EasyExcel相关整理

一、实体类常用注解 1、字段注解ExcelProperty,一般常用value标明表头,index标明列 2、实体类注解(导出样式设置) 3、导出特殊类型转换 二、导出 1、导出多个sheet 2、导出数据量大导致内存溢出 三、导入 待更新...

2024年【汽车驾驶员(技师)】考试题及汽车驾驶员(技师)找解析

题库来源:安全生产模拟考试一点通公众号小程序 汽车驾驶员(技师)考试题根据新汽车驾驶员(技师)考试大纲要求,安全生产模拟考试一点通将汽车驾驶员(技师)模拟考试试题进行汇编&#…...

[C#学习笔记]接口的特性与用法

视频地址&#xff1a;一期视频看透C#接口的全部特性及用法_哔哩哔哩_bilibili 强烈推荐学习C#和WPF的朋友关注此UP&#xff0c;知识点巨多&#xff0c;讲解透彻&#xff01; 一、总览 public interface IOverall {/// <summary>/// 最普通的方法/// </summary>v…...

java发送邮件报错,Could not connect to SMTP host: smtp.exmail.qq.com, port: 465

发现问题 我使用的 docker 运行的 jdk 环境&#xff0c;服务调用发送邮件报错 javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465;nested exception is:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protoc…...

开放式耳机有哪些好处?性价比排行前十的四款蓝牙耳机推荐

开放式耳机有以下好处&#xff1a; 佩戴舒适&#xff1a;开放式耳机不入耳&#xff0c;不堵塞耳道&#xff0c;长时间佩戴耳朵不易感到闷热和疼痛&#xff0c;相比传统入耳式耳机&#xff0c;能减少对耳道的压迫感和摩擦&#xff0c;让耳朵更舒适。 更健康卫生&#xff1a;不入…...

FreeRTOS(速记版)

第一章 初识 FreeRTOS 1.1 FreeRTOS简介 FreeRTOS 采用了 MIT 开源许可&#xff0c;这允许将 FreeRTOS 操作系统用于商业应用&#xff0c;并且不需要公开源代码。此外&#xff0c;FreeRTOS 还衍生出了另外两个操作系统&#xff1a;OpenRTOS 和 SafeRTOS&#xff0c;其中 OpenR…...

解锁中东市场新蓝海:Bigo社交媒体如何赋能APP广告营销优势

解锁中东市场新蓝海&#xff1a;Bigo社交媒体如何赋能APP广告营销优势 在全球数字化浪潮的推动下&#xff0c;中东地区以其独特的文化背景、高速的经济增长以及庞大的年轻消费群体&#xff0c;成为了众多品牌与APP开发者竞相争夺的市场高地。作为该地区颇具影响力的社交媒体平…...

【网络】DNS

definition DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;服务器是互联网上的重要基础设施之一&#xff0c;它的主要作用是将人们易于记忆的域名&#xff08;如www.example.com&#xff09;转换成计算机可以直接识别的IP地址&#xff08;如192.0.2.1&am…...

如何使用ChatGPT,完成学术论文文献综述的编写?

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在学术研究中&#xff0c;文献综述是了解研究现状、辨识研究空白并为自己的研究奠定理论基础的关键环节。ChatGPT 可以在文献综述的编写过程中提供有效的支持&#xff0c;从文献搜集、批…...

探索GPU算力在大模型和高性能计算中的无限潜能

在当今科技领域&#xff0c;大模型和高性能计算正以惊人的速度发展。大模型如语言模型、图像识别模型等&#xff0c;规模越来越大&#xff0c;精度越来越高&#xff0c;能够处理复杂的任务和生成逼真的结果。高性能计算则凭借强大的计算能力&#xff0c;推动着科学研究、工程设…...

【信创】统信UOS图形界面登录闪退的解决方法

原文链接&#xff1a;【信创】统信UOS图形界面登录闪退的解决方法 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于统信UOS 1070桌面操作系统中&#xff0c;图形界面登录时出现闪退或输入正确的用户名和密码后又跳转回登录界面问题的解决方法的文章。这种问题可能…...

排序(插入,希尔,选择,堆,冒泡,快速,归并,计数)

本文中的Swap()函数都是下面这段代码 // 交换 void Swap(int* p1, int* p2) {int tmp *p1;*p1 *p2;*p2 tmp; }文章目录 常见排序&#xff1a;一.插入排序1.直接插入排序&#xff1a;2.希尔排序&#xff1a; 二.选择排序1.选择排序&#xff1a;2.堆排序&#xff1a; 三.交换排…...

【recast-navigation/源码解析】findStraightPath详解以及寻路结果贴边优化

说在前面 recast-navigation版本&#xff1a;1.6.0 叉积cross product 正常来讲&#xff0c;叉乘为&#xff1a; ∣ A ⃗ B ⃗ ∣ ∣ x A y A x B y B ∣ x A ⋅ y B − x B ⋅ y A |\vec{A} \times \vec{B}|\begin{vmatrix} x_A & y_A \\ x_B & y_B \end{vmatrix…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...