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

Electron[2] Electron使用准备

1 背景

        介绍一个技术栈的入门基础,往往要以该技术栈的入门案例作为开始比较合适,更能诱惑到刚需的粉丝,深度的学习。Electron的入门也不例外。在入门案例的讲解过程中,我们会学习到Electron引入需要的准备工作有哪些。

2 入门案例

        入门案例比较简单,就是直接将hello wolrd的静态网页打包成一个桌面应用。

2.1 软件

        使用Vscode来操作

2.2 依赖

        默认用户本地已经安装了Node环境,按照官方的说法,最新的Electron需要本地安装最新的Node稳定版本。所以如果本地不是最新版的Node的话,请升级。

        注:我一直使用的是免安装方式来使用Node的,所以,我只需要下载最新版本的Node下来,重新生成nvm的快捷连接即可。这个过程你们可能会遇到如下问题:

Node切换版本-CSDN博客

2.3 配置镜像

        正式下载Electron之前,需要配置electron的镜像地址,因为国内不好下,因此需要在.npmc里头添加如下配置:

# 使用国内的镜像地址下载electron
ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"
# 使用国内的镜像地址下载electron-builder
ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/

2.4 安装Electron

        本地新建一个空文件夹,作为项目的文件夹,然后使用vscode打开该文件夹。然后在vscode的terminal终端上,执行如下命令:

npm init -y

 执行完之后,自动就有了node项目需要的相关配置文件了。

再执行如下命令:

npm install --save-dev electron

执行完之后,安装的版本如下:

"electron": "^27.0.2"

以前经历过一些教训,就是前端的发展可谓日新月异,经常有网友看到我的文章,但是发现没办法直接解决他们的问题,其实就是因为依赖包版本的更新,导致语法的迥异。因此附上版本号,就是告知,这篇博客仅针对这个版本的。

2.5 安装打包工具

打包工具选用Electron Forge。当然还有其他的选择像Electron builder,这个等后面再说。目前先考虑Electron Forge。

2.5.1 Git检查

由于Electron Forge依赖Git,所以需要实现安装好Git,如果没有安装的,请先安装。

Git

2.5.2 安装Electron Forge

将 Electron Forge 添加到您应用的开发依赖中

npm install --save-dev @electron-forge/cli

安装的版本号如下:

"@electron-forge/cli": "^6.4.2",
 2.5.2.1 设置Forge脚手架

使用其"import"命令设置 Forge 的脚手架

npx electron-forge import

设置日志:

npx electron-forge import
✔ Checking your system
✔ Locating importable project
✔ Processing configuration and dependencies✔ Installing dependencies✔ Copying base template Forge configuration✔ Fixing .gitignore
✔ Finalizing import› We have attempted to convert your app to be in a format that Electron Forge understands.Thanks for using…

新增配置,import之后package.json的script节点自动多了几行配置:

 "start": "electron-forge start","package": "electron-forge package","make": "electron-forge make"

至此,准备工作就做好了。

下一篇介绍,入门案例打包。

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

相关文章:

  • npm create vue@latest 原理
  • 【Unity基础】7.动画状态参数
  • C语言映射表在串口数据解析中的应用
  • 叁[3],感兴趣区域ROI
  • 文件数据交换格式说明
  • 2023NOIP A层联测24 总结
  • vue3 项目如何配置测试环境打包
  • 【CSS】样式的计算过程
  • 【ArcGIS微课1000例】0076:KMZ转换KML的方法
  • Python基础入门例程46-NP46 菜品的价格(条件语句)
  • Docker数据管理、网络与Cgroup资源限制
  • ubuntu strings | grep使用说明
  • <Vue>使用依赖注入的方式共享数据
  • 从0到1:腾讯云服务器使用教程
  • VScode + opencv + c++ + win配置教程
  • 机器学习---SVM目标函数求解,SMO算法
  • 044_第三代软件开发-保存PDF
  • 2023红帽论坛:构建开放AI生态,助力企业数字革新之路
  • 阿里云国际站和华为云国际站之间该如何选择?
  • JavaScript设计模式之责任链模式
  • 云安全—kubelet攻击面
  • leetcode经典面试150题---5.多数元素
  • Vue ElementUI el-tooltip 全局样式修改
  • MATLAB_5MW风电永磁直驱发电机-1200V直流并网MATLAB仿真模型
  • 11.4商业伦理(全)
  • 【漏洞复现】S2-045 Remote Code Execution(CVE-2017-5638)
  • Linux----------------Shell重定向输入输出
  • apachesolr中简单使用
  • C++多线程编程:其一、thread类概述
  • C++11 initializer_list 轻量级初始化列表的使用场景(让自定义类可以用初始化列表的形式来实例化对象)