Electron 分享(入门,安装,打包)

Electron

Electron 是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架

安装

在使用 Electron 进行开发之前,需要安装Node.js,可以在终端输入以下命令输出了 Node.js 和 npm 的版本信息:

powershell 复制代码
node -v
npm -v

没有安装的话,可以点击此处的安装教程

接下来就是安装 Electron

我们可以两种安装方式

全局安装

powershell 复制代码
npm install electron -g

【加g是全局安装,自动添加到环境变量中】

可以通过输入以下命令,弹出类似浏览器的程序,来验证安装成功:

powershell 复制代码
electron

如果遇到 npm 安装Electron 很慢或者出错可以使用淘宝镜像安装:

powershell 复制代码
npm install -g electron --registry=https://registry.npm.taobao.org

或者先安装 cnpm ,再使用 cnpm 安装Electron

如果以上都不行的话,我们就只能去采用下载合适自己的 electron.zip
https://registry.npmmirror.com/binary.html?path=electron/

文章这里下载的是 electron-v22.0.0-win32-x64.zip

我们把下载的zip包放到我们全局安装的目录的electron文件夹下面:

这里我们需要修改一下 install.js 文件:

注释该块代码

增加语句

javascript 复制代码
extractFile('electron-v22.0.0-win32-x64.zip');

我们可以看到 extractFile 方法传递的参数就是一个zip包的路径

修改完 install.js 文件后,我们终端打开全局安装的目录下的electron目录,执行 node install.js 命令,生成出 dist 文件夹:

powershell 复制代码
node install.js


到了这一步骤,则代表我们全局安装 Electron 已经成功!!!

快速开始

我们可以 git 克隆下来 Electron 官方快速开始的应用:

powershell 复制代码
git clone https://github.com/electron/electron-quick-start

进入项目安装依赖:

powershell 复制代码
cd electron-quick-start
npm install

我们可以通过以下两种方式运行项目:

powershell 复制代码
electron .
powershell 复制代码
npm start

npm start 其实也是运行 electron . 命令

看到这,就代表已经运行成功啦!!!

打包

注意: Electron 不能跨平台去打包,只能在当前平台上打包当前平台的应用,Windows系统只能打包Windows的包

采用两种方式打包:

electron-packager(操作简单,打包成运行目录)

使用electron-packager打包特点:

操作简单,打包后的目录就是程序的运行目录,相当于已经安装过,不用安装操作后才能运行,如果需要打包成安装器,需要使用electron-builder打包

安装electron-packager:

powershell 复制代码
npm install electron-packager --save-dev
npm install electron-packager -g

快速打包命令:

powershell 复制代码
electron-packager .

打包命令配置:

javascript 复制代码
electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> --out=out --icon=assets/app.ico --asar --overwrite --ignore=.git

sourcedir:项目源文件所在路径(唯一的必须参数)

appname:项目名称(直接使用package.json文件中的name属性更方便)

platform:要构建哪个平台的应用(Windows、Mac 还是 Linux)

arch:构建架构 包含ia32,x64,armv7l,arm64

out:打包后的地址

icon:打包图标

asar:是否生成app.asar, 不然就是自己的源码

overwrite:覆盖上次打包

ignore:不进行打包的文件

electron-builder(相对复杂,打包成安装器)

使用electron-builder打包特点:

操作相对比较复杂,能够打包成安装器,能自定义打包方式,可以说electron-builder比electron-packager更加高级

安装yarn(electron-builder打包依赖yarn):

powershell 复制代码
npm install -g yarn

安装electron-builder:

powershell 复制代码
npm install -g electron-builder

配置package.js文件的script节点:

javascript 复制代码
  "scripts": {
    "start": "electron .",
    "pack": "electron-builder --dir",
    "postinstall": "electron-builder install-app-deps",
    "dist": "electron-builder",
    "dist-win": "electron-builder --win --ia32",
    "dist-win64": "electron-builder --win --x64",
    "dist-mac": "electron-builder --mac",
    "dist-linux": "electron-builder --linux"
  }

运行编译打包命令:

编译

powershell 复制代码
yarn postinstall

打包windows 64位应用命令

powershell 复制代码
yarn dist-win64

可以直接运行图中的.exe

运行之后,应用程序的文件则是放在:

到此为止,已经打包成功了!!!

相关推荐
我材不敲代码1 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
丷丩1 小时前
MapLibre GL JS第8课:禁用滚动缩放
javascript·mapbox·maplibre gl js
Kratzdisteln1 小时前
【无标题】
前端·python
Curvatureflight2 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue
kTR2hD1qb2 小时前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
修己xj3 小时前
打造专属博文封面神器:一个开源免费的博文封面生成器ThisCover
前端
kyriewen3 小时前
面试8家前端岗位后,我发现了一个残酷的事实:AI不是加分项,是门槛
前端·javascript·面试
Fighting_p3 小时前
【面试 - el-select问题及解决】wujie 微前端下子系统 el-select 多选 filterable 过滤失效
前端
吃口巧乐兹3 小时前
AI 全栈时代,为什么要服务端使用 NestJs
前端
yingyima3 小时前
Redis 延迟任务队列:凌晨3点服务器报警的救星
前端