Electron实践继续

news2025/1/20 6:27:00

文章目录

  • 前言
    • 一、知识储备前提
    • 二、开发工具集
      • (一)代码编辑器之选
      • (二)命令行工具运用
      • (三)Git 与 GitHub 协作利器
      • (四)Node.js 与 npm 核心环境
  • 你的第一个Electron应用程序


前言

上回说道,我们按照electron官网的提示,安装了合适版本的nodejs

现在我们继续啊

在这里插入图片描述
上回咱直接去了releases。

后来,我仔细看了看,发现上面最显眼的这个docs,这一次咱点它。

在这里插入图片描述
咱先搞搞这个基本要求:

一、知识储备前提

由于 Electron 是网页应用的原生包装层且在 Node.js 环境中运行,所以开发者应预先具备一定的 Node.js 和前端 Web 开发知识。对于 Node.js 基础概念如模块系统、异步编程等,以及前端开发中的 HTML 结构搭建、CSS 样式设计和 JavaScript 逻辑编写等技能的熟悉程度,将直接影响 Electron 项目的开发进程。若在这些方面有所欠缺,可参考 MDN Web Docs 的 Web 入门教程和 NodeJS 官方入门指南进行系统学习,为后续开发筑牢根基。

二、开发工具集

(一)代码编辑器之选

一款趁手的代码编辑器是编码工作的得力助手。Visual Studio Code 凭借其丰富的插件生态、强大的代码智能提示和便捷的版本控制集成功能,成为 Electron 开发的热门推荐。当然,开发者也可依据个人习惯,从 Sublime Text、Atom 等众多文本编辑器中挑选适合自己的工具,只要能满足高效编写代码的需求即可。

(二)命令行工具运用

在整个 Electron 开发教程中,命令行接口(CLI)的使用贯穿始终。Windows 系统下的命令提示符或 PowerShell、macOS 的 Terminal 以及 Linux 各发行版对应的终端工具(如 GNOME 终端、Konsole 等)都能派上用场。此外,多数现代代码编辑器也内置了终端功能,开发者可灵活选择使用系统默认终端或编辑器内置终端来执行诸如安装依赖、运行脚本等操作,确保开发流程的顺畅进行。

(三)Git 与 GitHub 协作利器

Git 作为广泛应用的版本控制系统,与基于其构建的协作开发平台 GitHub,在 Electron 应用开发中扮演着重要角色。虽然在开发初期并非强制要求,但在后续软件自动更新环节,借助 GitHub Releases 能实现高效的版本管理与分发。因此,开发者应提前创建 GitHub 账号并安装 Git。对于 Git 新手,GitHub 提供的 Git 指南是很好的学习资源,同时 GitHub Desktop 等可视化工具也为不熟悉命令行操作的开发者提供了便利的替代方案。在项目开发过程中,建议创建本地 Git 仓库,在教程各关键步骤完成后及时提交代码,便于版本回溯与团队协作。

(四)Node.js 与 npm 核心环境

开发 Electron 应用的关键在于安装 Node.js 运行环境及其包管理器 npm,推荐安装最新的长期支持(LTS)版本。在安装过程中,务必使用针对所在平台预构建的 Node.js 安装器,以规避与其他开发工具可能产生的兼容性问题。例如在 macOS 系统中,可借助 Homebrew 或 nvm 等包管理器进行安装,有效避免目录权限问题。安装完成后,可通过在命令行输入“node -v”和“npm -v”来检查 Node.js 和 npm 是否成功安装及查看其版本信息。需要特别注意的是,尽管开发环境依赖 Node.js,但 Electron 应用在运行时并不使用系统的 Node.js 环境,而是其内置的 Node.js 运行时,这就确保了终端用户无需安装 Node.js 环境也能正常运行应用。若要查看应用内置的 Node.js 版本,可在主进程或预加载脚本中访问“process.versions”变量,详细信息可参考 https://releases.electronjs.org/releases.json。

在这里插入图片描述
嗯,万事俱备了。(其实就是咱上次装的node)

你的第一个Electron应用程序

在这里插入图片描述

继续按照提示走。

首先就是不让用WSL。

咱本来就是要构建window下的.exe格式的软件嘛,自然不会用到WSL

TIPS: WSL(Windows Subsystem for Linux)是微软推出的一项兼容层功能。它允许用户在Windows操作系统上原生运行Linux二进制可执行文件。 从本质上来说,WSL提供了一个Linux环境。用户能够使用常见的Linux命令,如lscdgrep等。对于开发者而言,这是一个巨大的便利。开发人员可以在熟悉的Windows系统上,同时拥有Linux开发环境,进行诸如编译Linux软件、运行Linux脚本等操作。并且WSL可以与Windows文件系统交互,方便文件的共享和访问。它分为WSL1和WSL2,WSL2在性能和功能上有进一步的提升。

因为咱是windows,所以也不支持&&

咱一步一步来吧

mkdir my-electron-app
cd my-electron-app
npm init

在这里插入图片描述
安装过conda的,这里估计会一路回车干下去,但这里是不行的。

在这里插入图片描述

错误的示范哈👆

正确的示范,我们需要在出现entry point时,主动输入:
main.js

在这里插入图片描述

就像这样👆

npm install electron --save-dev

在这里插入图片描述
竟然没报错,不错不错
在这里插入图片描述
新建一个main.js
里面写上一句:

console.log('Hello from Electron 👋')

修改package.json

{
  "name": "my-electron-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "devDependencies": {
    "electron": "^34.0.0"
  }
}

后面使用

npm run start

在这里插入图片描述

只不过那个表情没出来而已。

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

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

相关文章

《自动驾驶与机器人中的SLAM技术》ch8:基于预积分和图优化的紧耦合 LIO 系统

和组合导航一样,也可以通过预积分 IMU 因子加上雷达残差来实现基于预积分和图优化的紧耦合 LIO 系统。一些现代的 Lidar SLAM 系统也采用了这种方式。相比滤波器方法来说,预积分因子可以更方便地整合到现有的优化框架中,从开发到实现都更为便…

【CSS】---- CSS 实现超过固定高度后出现展开折叠按钮

1. 实现效果 2. 实现方法 使用 JS 获取盒子的高度,来添加对应的按钮和样式;使用 CSS 的浮动效果,参考CSS 实现超过固定高度后出现展开折叠按钮;使用容器查询 – container 语法;使用 clamp 函数进行样式判断。 3. 优…

【C语言】_字符串拷贝函数strcpy

目录 1. 函数声明及功能 2. 使用示例 3. 注意事项 4. 模拟实现 4.1 第一版:基本功能判空const修饰 4.2 第二版:优化对于\0的单独拷贝 4.3 第三版:仿strcpy的char*返回值 1. 函数声明及功能 char * strcpy ( char * destination, cons…

大文件上传服务-后端V1V2

文章目录 大文件上传概述:minio分布式文件存储使用的一些技术校验MD5的逻辑 uploadV1 版本 1uploadv2 版本 2 大文件上传概述: 之前项目做了一个文件上传的功能,最近看到有面试会具体的问这个上传功能的细节,把之前做的项目拿过来总结一下,自己写的一个…

【k8s面试题2025】1、练气期

主要通过呼吸吐纳等方法,将外界的天地灵气吸入体内,初步改造身体,使身体素质远超常人。 文章目录 docker 和虚拟机的不同Kubernetes 和 docker 的关系Kube-proxy IPVS 和 iptables 的异同蓝绿发布Kubernetes中常见的数据持久化方式关于 Docke…

快速入门:如何注册并使用GPT

文章目录 ProtonMail邮箱步骤 1:访问Proton官网步骤 2:创建ProtonMail账户步骤 3:选择注册免费账户步骤 4:填写邮箱地址和手机号(可选)步骤 5:邮箱验证(必须进行验证)步骤…

浅谈云计算22 | Kubernetes容器编排引擎

Kubernetes容器编排引擎 一、Kubernetes管理对象1.1 Kubernetes组件和架构1.2 主要管理对象类型 二、Kubernetes 服务2.1 服务的作用与原理2.2 服务类型 三、Kubernetes网络管理3.1 网络模型与目标3.2 网络组件3.2.1 kube-proxy3.2.2 网络插件 3.3 网络通信流程 四、Kubernetes…

Vulnhub DC-8靶机攻击实战(一)

导语   Vulnhub DC-8靶机教程来了,好久没有更新打靶的教程了,这次我们在来更新一期关于Vulnhub DC-8的打靶训练,如下所示。 安装并且启动靶机 安装并且启动靶机,如下所示。 开始信息采集 进入到Kali中,通过如下的命令来查找到靶机的IP地址。 arp-scan -l根据上面的结…

自学SpringBoot笔记

概念 什么是SpringBoot? Spring Boot 是基于 Spring Framework 的一款开源框架,主要用于简化 Spring 应用程序的开发。它通过提供一系列的 开箱即用的功能 和 自动配置,让开发者可以快速构建生产级别的独立应用程序,而无需手动配…

通过学习更多样化的生成数据进行更广泛的数据分发来改进实例分割

大家读完觉得有帮助记得关注和点赞!!! 本次使用的英文整理的一些记录,练习一下为后续SCI发表论文打好基础 Improving Instance Segmentation by Learning Wider Data Distribution with More Diverse Generative Data Abstract In…

USB3020任意波形发生器4路16位同步模拟量输出卡1MS/s频率 阿尔泰科技

信息社会的发展,在很大程度上取决于信息与信号处理技术的先进性。数字信号处理技术的出现改变了信息 与信号处理技术的整个面貌,而数据采集作为数字信号处理的必不可少的前期工作在整个数字系统中起到关键 性、乃至决定性的作用,其应用已经深…

提示词的艺术----AI Prompt撰写指南(个人用)

提示词的艺术 写在前面 制定提示词就像是和朋友聊天一样,要求我们能够清楚地表达问题。通过这个过程,一方面要不断练习提高自己地表达能力,另一方面还要锻炼自己使用更准确精炼的语言提出问题的能力。 什么样的提示词有用? 有…

自定义提示确认弹窗-vue

最初可运行代码 弹窗组件代码&#xff1a; &#xff08;后来发现以下代码可运行&#xff0c;但打包 typescript 类型检查出错&#xff0c;可打包的代码在文末&#xff09; <template><div v-if"isVisible" class"dialog"><div class&quo…

【JavaEE】Spring(1)

一、什么是Spring和SpringBoot Spring是Java应用程序的开发框架&#xff0c;其目的就是为了简化Java开发&#xff1b;SpringBoot是在spring框架的基础上构建的一个快速开发框架&#xff0c;其作用是进一步简化Spring程序开发 二、SpringBoot项目 2.1 创建项目 1. 设置jdk版本…

【Rust自学】13.4. 闭包 Pt.4:使用闭包捕获环境

13.4.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发&#xff0c;而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中&#xff0c;我们会讨论 Rust 的一…

浅谈操作系统与初识Linux

一、Linux操作系统的出现 1.1操作系统的出现以及相关的四个要素 1.2最早出现的操作系统及其创始人 起初&#xff0c;IBM为了让计算机可以以更低技术成本进行使用&#xff0c;以此来售卖计算机&#xff1b; 为计算机搭载上了Unix操作系统&#xff0c;Unix由肯汤普森用汇编语…

K8S开启/关闭审计日志

K8S默认禁用审计 开启/关闭 k8s 审计日志 默认 Kubernetes 集群不会输出审计日志信息。通过以下配置&#xff0c;可以开启 Kubernetes 的审计日志功能。 准备审计日志的 Policy 文件配置 API 服务器&#xff0c;开启审计日志重启并验证 准备审计日志 Policy 文件 apiVersio…

深入探讨DICOM医学影像中的MPPS服务及其具体实现

深入探讨DICOM医学影像中的MPPS服务及其具体实现 1. 引言 在医疗影像的管理和传输过程中&#xff0c;DICOM&#xff08;数字影像和通信医学&#xff09;标准发挥着至关重要的作用。除了DICOM影像的存储和传输&#xff08;如影像存储SCP和影像传输SCP&#xff09;&#xff0c;…

VGG (Visual Geometry Group) :深度卷积神经网络的图像识别利器

前言 在深度学习的蓬勃发展历程中&#xff0c;卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;为图像识别领域带来了革命性的突破。而 VGG&#xff08;Visual Geometry Group&#xff09;作为其中的杰出代表&#xff0c;凭借其简洁而高效的…

【机器学习实战中阶】音乐流派分类-自动化分类不同音乐风格

音乐流派分类 – 自动化分类不同音乐风格 在本教程中,我们将开发一个深度学习项目,用于自动化地从音频文件中分类不同的音乐流派。我们将使用音频文件的频率域和时间域低级特征来分类这些音频文件。 对于这个项目,我们需要一个具有相似大小和相似频率范围的音频曲目数据集…