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

如何在银河麒麟操作系统上搭建 Electron (含 Electron 打包指南)

本次教程所用版本

Eletron版本:31.3.1

Electron-packager版本:17.1.2

VScode版本:1.92.0

Node版本:18.19.0

npm版本:10.2.3

前言:

随着跨平台应用开发的需求日益增长,Electron 和 Qt 成为了两种广受欢迎的选择。Electron 以其简单易用、快速开发的特点吸引了众多前端开发者,而 Qt 则因其强大的图形界面支持和高效的性能表现受到了许多专业软件开发者的青睐。银河麒麟操作系统作为一款基于 Linux 的国产操作系统,其安全稳定的特点使得它成为了政府机构和企业用户的优选。

1. 下载VScode

官网地址:Visual Studio Code - Code Editing. Redefined

下载完成后安装即可,过程不再演示。

打开终端:

进入到/home下,并创建Eletron文件夹。用于后续的项目创建。(作者喜欢在ROOT用户下操作,更加方便快捷,但是同时也更加危险,推荐大家用普通用户就好,在mkdir 前加 sudo即可)

Vscode打开文件夹

点击Yes,获取权限。

2. 下载Node

在Vscode中打开终端,或者使用普通终端即可,这里都一样。

下载源码包:注意这里请注意架构,作者时x64,如果是arm就把x64改成arm64即可

wget https://nodejs.org/download/release/v18.19.0/node-v18.19.0-linux-x64.tar.gz

将文件解压到/usr/sbin目录下,重命名成nodejs,加上软连接即可。

tar -zxvf ./node-v18.19.0-linux-arm64.tar.gz  -C /usr/sbin  // 解压文件cd /usr/sbin/sudo mv node-v18.19.0-linux-arm64/ nodejs //相当于重命名// 软连接,方便全局使用sudo ln -s /usr/sbin/nodejs/bin/node /usr/sbin/
sudo ln -s /usr/sbin/nodejs/bin/npm /usr/sbin/

查看版本,如果正确及配置成功。

如果报错,检查一下架构错了没。

3. 安装Electron 和 Electron-packager

在换源之前我们需要先初始化一下项目,也就是生成一下JSON文件。

sudo npm init

一直敲回车即可,最后输入一个yes。Script下是个脚本,可以自己随意设置,调试的时候可以执行。

换源:

sudo npm config edit 

加上上面的即可

electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
registry=https://registry.npmmirror.com
strict-ssl=false

清除一下之前的缓存:

sudo npm cache clean --force

下载Electron和Electron-packager

sudo npm install --save-dev electron
sudo npm install electron-packager --save-dev

此时你会发现在JSON文件多了你的上方两个软件的版本。

这里大家也可以直接换成我的,应该没啥区别,哈哈。但是如果版本不同记得要改版本号哦。

​
{"name": "my-electron-app","version": "1.0.0","description": "Hello World!","main": "main.js","author": "Jane Doe","license": "MIT","scripts": {"start": "electron ."},"dependencies": {"electron": "^31.3.1"},"devDependencies": {"electron-packager": "^17.1.2"}
}​

这里的main.js就是我们的主程序,因为作者了解过浅,我也不知道能不能包含其他文件,这里就不瞎说了。

4. 打包程序为exe

这里大家去AI随意生成一个即可。

在Script中添加打包命令:

"package-mac": "electron-packager . Path --platform=linux --arch=x64 --electron-version=31.3.1 --mirror=https://npm.taobao.org/mirrors/electron/ --out=dist

选项详解

  • .:这表示你的项目的根目录,即包含 package.json 文件的目录。
  • Path:这是打包后应用程序的名称。
  • --platform=linux:指定目标平台为 Linux。
  • --arch=x64:指定目标架构为 64 位。
  • --electron-version=31.3.1:指定 Electron 的版本为 31.3.1。
  • --mirror=https://npm.taobao.org/mirrors/electron/:指定 Electron 的镜像源,这里使用了 Taobao 镜像,不然会超时。
  • --out=dist:指定输出目录为 dist,打包好的应用程序将被放置在这个目录下。

点击script上方的Debug

点击即可,这里需要切换的root用户。

这里会有一个dist目录,其中会有一个Path可执行程序

至此,大功告成。

相关文章:

如何在银河麒麟操作系统上搭建 Electron (含 Electron 打包指南)

本次教程所用版本 Eletron版本:31.3.1 Electron-packager版本:17.1.2 VScode版本:1.92.0 Node版本:18.19.0 npm版本:10.2.3 前言: 随着跨平台应用开发的需求日益增长,Electron 和 Qt 成为…...

小怡分享之数据结构基础知识准备

前言: 🌈✨之前小怡给大家分享了JavaSE的知识,今天小怡要给大家分享一下数据结构基础知识。 一、初识集合框架 1.什么是集合框架 Java集合框架Java Collection Framework, 又称为容器container,是定义在Java.util 包…...

Linux安全与高级应用(三)深入探索MySQL数据库:安装、管理与安全实践

文章目录 深入探索MySQL数据库:安装、管理与安全实践MySQL数据库简介MySQL的安装与配置编译安装MySQL配置MySQL服务 MySQL数据库的基本操作数据库的创建与删除表的创建与管理数据记录的增删改查 MySQL用户管理与权限设置MySQL数据库的备份与恢复数据库备份数据库恢复…...

基于jsp的宠物领养与服务管理系统(源码+论文+部署讲解等)

博主介绍:✌全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术栈介绍:我是程序员阿龙&#xff…...

基于STM32F407+NBIOT+华为云IOT平台设计的环境检测系统

基于STM32F407NBIOT华为云IOT平台设计的环境检测系统实现的功能: 【1】能够采集本地环境的温度、湿度、烟雾浓度,火光信息,在OLED显示屏上显示。 如果检测到烟雾、温度、火光超过阀值会触发蜂鸣器报警。 【2】能够通过NBIOT将本地设备采集的信…...

工具方法 - 如何表扬小孩子

赞扬小朋友的表现可以通过多种方法来进行,以鼓励他们的积极行为和努力,增强他们的自信心和动力。以下是一些有效的赞扬方法: 1. 具体表扬:指出具体的行为或成就,而不是泛泛地说“你很棒”。例如,“你今天很…...

【扒模块】DySample

逐行注释 import torch import torch.nn as nn import torch.nn.functional as F import warnings# 忽略警告信息,这通常用于开发过程中,避免警告干扰输出结果 warnings.filterwarnings(ignore)# 定义一个函数,用于对神经网络模块的权重进行…...

数学建模之数据分析【四】:变量及其分析

文章目录 一、单变量数据1.1 单变量数据1.2 单变量分析的要点: 二、双变量数据2.1 双变量数据2.2 双变量分析的要点 三、多元数据3.1 多元数据3.2 多元分析的要点 四、单变量,双变量和多变量数据之间的区别 公众号/小红书: 快乐数模 CSDN: 清上尘 本文&a…...

iOS ------ UIKit相关

UIView和CALayer UIView UIView表示屏幕上的一块矩形区域,它是基本上iOS中所有可视化控件的父类。UIView可以管理矩形区域里的内容,处理矩形区域的事件,包括子视图的管理以及动画的实现。 UIKit相关类的继承关系 UIView继承自UIResponde…...

24/8/9算法笔记 随机森林

"极限森林"(Extremely Randomized Trees,简称ERT)是一种集成学习方法,它属于决策树的变体,通常被归类为随机森林(Random Forest)的一种。极限森林的核心思想是在构建决策树时引入极端…...

如何在前后端分离项目中,使用Spring Security

使用 WebSecurityConfigurationAdapter 在前后端分离的架构中,通常使用 Token 进行认证和授权是一种常见的做法。Token 可以是 JSON Web Token(JWT),用于在客户端和服务器之间传递身份信息和访问控制信息。下面我将详细介绍如何在…...

c#怎么折叠代码快捷

在C#中,‌你可以使用快捷键来折叠或展开代码,‌以便更好地管理和浏览代码。‌以下是一些常用的快捷键:‌ 折叠所有方法:‌使用Ctrl M O。‌折叠或展开当前方法:‌使用Ctrl M M。‌展开所有方法:‌使用…...

数据库篇--八股文学习第十七天| 什么是慢查询?原因是什么?可以怎么优化?;undo log、redo log、binlog 有什么用?

1、什么是慢查询?原因是什么?可以怎么优化? 答: 数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。 原因: 查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询&…...

插件、cookie存储,json,ajax详解

1.插件 下载地址:http://github.com/carhartl/jquery-cookie/zipball/v1.4.1 使用文档:jquery-cookie(github.com) 2.存储 初学前端用的是localStorage和sessionStorage,后来又引入了cookie进行存储。 localStorage使用如下 sessionStor…...

快速上手Spring Boot

快速上手Spring Boot (qq.com)...

思路超清晰的 LVS-NAT 模式实验部署

目录 一、实验原理 1、实验基础配置图 2、实验原理 二、实验环境准备 1、准备四台红帽9的主机 2、四台主机的基础配置 (1)client 1)配置主机名:client 2)配置ip:172.25.254.200 (2)lv…...

Android实时通信:WebSocket与WebRTC的应用与优化

文章目录 一、WebSocket在Android中的应用1.1 简介1.2 示例 二、WebRTC在Android中的应用2.1 简介2.2 示例 三、Android实时通信的优化策略3.1 网络优化3.2 延迟降低 四、Android实时通信的安全问题五、实时通信协议的比较六、总结 在现代移动应用中,实时通信已经成…...

力扣刷题之3131.找出与数组相加的整数I

题干描述 给你两个长度相等的数组 nums1 和 nums2。 数组 nums1 中的每个元素都与变量 x 所表示的整数相加。如果 x 为负数,则表现为元素值的减少。 在与 x 相加后,nums1 和 nums2 相等 。当两个数组中包含相同的整数,并且这些整数出现的频…...

非线性表之堆的实际应用和二叉树的遍历

目录 前言:前一篇我已经介绍过了二叉树和堆的介绍和相关代码的实现 一、堆的实现 1.1堆向上调整算法 1.2堆向下调整算法 二、堆的应用 2.1堆的排序 2.2TOP-K问题 三、二叉树的遍历 3.1 二叉树的创建 3.2遍历介绍 3.3前序遍历 3.4中序遍历 3.5后序遍历 …...

os.path库学习之splitext函数

os.path库学习之splitext函数 一、简介 os.path.splitext 是 Python 标准库 os.path 模块中的一个函数,用于将文件名分割成两部分:文件名和扩展名。这个函数非常有用,特别是在处理文件路径和文件扩展名时。 二、语法和参数 语法: os.path…...

Ubuntu下Minicom与Kermit串口工具对比:哪个更适合你的嵌入式开发?

Ubuntu下Minicom与Kermit串口工具深度评测:嵌入式开发者的终极选择指南 在嵌入式开发领域,串口通信如同开发者的"听诊器",是调试硬件、监控系统状态的核心工具。Ubuntu作为最受开发者欢迎的Linux发行版之一,其生态中Mi…...

Graphormer一文详解:RDKit+PyG+Gradio技术栈整合与Supervisor服务管理

Graphormer一文详解:RDKitPyGGradio技术栈整合与Supervisor服务管理 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分…...

FPGA程序部署双通道:JTAG在线调试与SPI Flash固化的工程实践

1. JTAG在线调试:工程师的"手术刀" 第一次用JTAG调试FPGA时,我盯着开发板看了半天——这玩意儿连上电脑就能直接改逻辑?后来才发现它就像给病人做手术时的实时监护仪,能随时观察"患者"状态,但断电…...

03 MongoDB文档的各种增加、更新、删除操作总结

更多内容请见: 《深入掌握MongoDB数据库》 - 专栏介绍和目录 一. 插入文档 注意: 在 MongoDB 中,直接插入内容会自动创建集合! 1.1 使用insert()方法 语法格式: db.COLLECTION_NAME.insert(document) 说明: 若插入的数据主键已经存在,则会抛 org.springframework.dao.Du…...

CD3抗体如何成为双抗药物的核心靶点?

一、双特异性抗体药物为何发展迅猛?双特异性抗体(BsAb)是一类能够同时特异性结合两个不同抗原或抗原表位的人工工程抗体。其通过同时阻断两个靶点介导的生物学功能,或将表达不同抗原的细胞拉近,实现单一抗体难以完成的…...

5. 大模型核心基础概念(三):模型量化、蒸馏、微调的核心逻辑(通俗解读)

001、开篇:为什么大模型需要“瘦身”与“调教”?——量化、蒸馏、微调的必要性 上周在产线调试一个端侧部署的视觉模型,设备跑着跑着就内存溢出了。同事盯着日志问我:“模型在服务器上明明跑得好好的,怎么一到嵌入式板子上就崩了?” 我看了眼那 2GB 的 RAM 和板载的 8GB …...

Graphormer在放射性药物中的应用:螯合剂分子稳定常数与配位能力预测

Graphormer在放射性药物中的应用:螯合剂分子稳定常数与配位能力预测 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分子基准测试中表现优异&a…...

张量维度操控心法:从reshape到升维降维,吃透PyTorch形状操作的底层逻辑

✨ 张量维度操控心法:从reshape到升维降维,吃透PyTorch形状操作的底层逻辑🔐 张量形状操作的黄金法则:形状是视角,内容是本质🔧 reshape函数:零侵入的形状重塑神器核心原理与执行规则实操代码与…...

GLM-4.1V-9B-Base成本优化指南:GPU显存管理与推理性能调优

GLM-4.1V-9B-Base成本优化指南:GPU显存管理与推理性能调优 1. 为什么需要关注大模型推理成本 大模型在带来强大能力的同时,也伴随着高昂的GPU算力成本。GLM-4.1V-9B-Base作为一款9B参数量的视觉语言大模型,在实际部署中常常面临显存不足、推…...

为什么选全屋定制,不买成品柜

1)为什么选全屋定制,不买成品柜?​ 成品柜尺寸固定,苏州很多户型飘窗、梁位、管道多,放进去丑、浪费空间!我们定制严丝合缝,顶天立地,收纳多 30%,颜值统一,和…...