Electron入门介绍

本文介绍如何使用Electron框架开发跨平台桌面应用。Electron允许开发者使用HTML、CSS和JavaScript进行开发,提供了部署方便、跨平台支持等优势。文章详细讲解了开发环境搭建过程,包括Node.js和Electron的安装,并通过示例演示了基本应用的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Electron是什么

可以认为Electron是一种运行环境库,我们可以基于此,用HTML、JS和CSS写桌面应用。
PC端的UI交互,主要有web应用和桌面应用。具体采用哪种方式,主要看系统的应用场景,哪个更合适用哪个。
对于Web应用:

优点:

  1. 部署、升级方便。用户通过浏览器就可以访问;
  2. HTML/JS/CSS编写,方便且高效;
  3. windows、linux都支持;

缺点:

  1. 对于开发者:浏览器适配比较繁琐;
  2. 对于开发者:有些应用,必须指定浏览器或版本。比如OCX必须是IE内核,H5要求浏览器必须是较高版本;
  3. 对于用户:传统行业中,部分用户对web应用不习惯,尤其在专业工具软件方面,觉得web应用没有桌面应用用起来踏实。
  4. 对于开发者:必须打开浏览器,输入一长串URL地址(虽然可以建立浏览器收藏夹或者创建URL的快捷方式到桌面,但大部分用户不会这么做);

因为之前开发的一款应用是专业工具软件,给科研院所的设计人员使用。而且用户的大部分系统是XP,且不允许安装非IE浏览器。我们发现,采用web方式,效果很不好。因此决定用桌面应用。
考虑到开发效率、人员配备情况以及后续的升级,于是调研了一下nw.js和Electron技术。本文主要讲解Electron的入门。(注:Electron的一个遗憾,不支持XP系统。nw.js 0.14.7以后版本不支持XP系统。)

Electron网址:

https://electronjs.org/
https://github.com/electron/e...

环境安装(Windows)

Node.js安装

Electron中使用了Node.js,因此首先安装Node.js。安装十分简单,直接从官网下载安装包,点击安装即可。当前最新版本8.9.4。
新版本的Node.js中自动集成了npm,npm是JS的包管理器。可以帮助我们管理包的下载、依赖、部署、发布等。可以认为是js中的maven。

安装完后,在命令行窗口中分别输入node -v和npm -v来查看node和npm的版本。

cnpm安装(非必须)

考虑到npm下载包时是从国外的服务器上下载,不仅速度慢,而且不稳定。因此,建议使用淘宝npm镜像(官网:https://npm.taobao.org/)。
安装cnpm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm的使用方法和npm一样。后续使用中,npm全部替换为cnpm即可。

例子

从github上下载第一个示例,运行看效果

# 克隆这仓库
> git clone https://github.com/electron/electron-quick-start
# 进入仓库
> cd electron-quick-start
# 安装依赖库
> cnpm install
# 运行应用,也可以用: cnpm run start
> cnpm start 

注意:需要安装git,具体安装步骤这里不描述。另外,注意这里使用的cnpm。
如果没有安装git,直接下载压缩包也可以。

命令行中执行上述操作,最后的效果:
图片描述

(注:我把命令行窗户和弹出的Hello World窗口截在一张图了)

主要文件结构

进入到electron-quick-start文件夹,可以看到主要目录结构

electron-quick-start/
 ├── package.json
 ├── main.js
 ├── index.html
 ├── node_modules/

index.html:窗口中显示的内容,在index.html中
package.json:项目的配置信息和所需的各种模块,在这里配置。npm install命令根据它,自动下载所需模块
main.js:用于创建窗口和处理系统事件
node_modules:npm install安装包的位置。如果是全局安装,则不在这个目录。

可以打开各个文件和目录,看看具体的内容,先大致了解,有个整体概念。

例子中package.json简要解释

"name": "electron-quick-start"

通过name字段,指定窗口标题。

"main": "main.js"

通过main字段,指定应用的启动脚本。如果未指定,Electron会优先加载index.js。

"scripts": {    "start": "electron ."  }

配置npm的命令,这里是start命令。npm start命令调用的就是这里的“electron .”
注意:这里直接使用的是"electron .",而不是"node_modules.binelectron ."。虽然前面electron模块是局部安装,但是运行npm命令时,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。因此,即使非全局安装,electron也可以不带路径。这里的electron其实就是一个shell脚本。

"devDependencies": {    "electron": "~1.6.2"  }

配置依赖的模块,这里只有Electron模块。

自己手动编写一个例子,并运行

如果上诉的简单例子还不够直观,可以自己建立一个。
》创建一个文件夹ETest;
》该文件夹下建立三个文件:index.html, main.js, package.json。文件的内容参考上诉例子;
》打开命令窗口,cd到ETest目录下;
》启动程序:e:githubelectron-quick-startnode_modules.binelectron .
》完成。
注意这里直接使用的是上一步electron-quick-start例子中的electron命令。

还有一个重要例子

github上有一个electron-api-demos的例子,里面介绍了主要的一些功能及实现代码。可以下载下来参考:

> git clone https://github.com/electron/electron-api-demos
> cd electron-api-demos
> cnpm install
> cnpm start

结果界面:
图片描述

这里例子中,展示了:
》创建新窗口;
》管理窗口状态;
》窗口失去焦点和获取焦点的事件;
》创建无边框窗口;
》自定义菜单和右键菜单;
》注册键盘快捷键
》打开外部链接;
》通知消息(带图片);
》使用系统窗口(文件选择窗口、错误提示窗口、信息提示窗口、保存窗口)
》添加系统状态栏图标;
》多进程间通信;
》获取系统信息;
》拷贝和粘贴;
》打印PDF;
》截图。

要更深入的了解,可以参网上相应的文档。

### Electron框架入门教程 #### 什么是ElectronElectron 是一个用于构建跨平台桌面应用程序的开源框架,它允许开发者利用 JavaScript、HTML 和 CSS 创建原生桌面应用。通过嵌入 Chromium 和 Node.js,Electron 可以让开发者仅维护一套基于 Web 的代码库,从而实现跨 Windows、macOS 和 Linux 平台的应用程序开发[^3]。 --- #### 安装与环境准备 要开始使用 Electron,首先需要安装 Node.js 和 npm(Node Package Manager)。可以通过以下命令验证是否已正确安装: ```bash node -v && npm -v ``` 如果尚未安装,请访问官方页面下载最新版本:[Node.js官网](https://nodejs.org/)。 接着,在项目目录下初始化一个新的 Node.js 应用程序,并安装 Electron: ```bash npm init -y npm install electron --save-dev ``` 上述操作会创建 `package.json` 文件并将 Electron 添加到项目的依赖项中[^1]。 --- #### 基本结构 一个典型的 Electron 应用通常包含以下几个文件: - **main.js**: 这是主进程脚本,负责管理窗口和操作系统之间的交互。 - **index.html**: 渲染界面的内容。 - **renderer.js (可选)**: 渲染进程中使用的逻辑脚本。 下面是一个简单的示例配置: ##### main.js 这是主进程的核心部分,定义了如何启动和关闭应用程序以及创建浏览器窗口。 ```javascript const { app, BrowserWindow } = require('electron'); function createWindow() { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, contextIsolation: false, }, }); win.loadFile('index.html'); } app.whenReady().then(() => { createWindow(); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); }); app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); } }); ``` ##### index.html 这是一个基本的 HTML 页面,作为应用的主要视图。 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Electron App</title> </head> <body> <h1>Hello from Electron!</h1> <p>This is a basic example of an Electron application.</p> </body> </html> ``` --- #### 启动应用 完成以上设置后,可以在 `package.json` 中添加一条启动脚本来简化流程: ```json { "name": "my-electron-app", "version": "1.0.0", "main": "main.js", "scripts": { "start": "electron ." } } ``` 随后运行以下命令来启动您的第一个 Electron 应用: ```bash npm start ``` 这将会打开一个带有自定义内容的新窗口[^2]。 --- #### 使用 electron-vite 加速开发 对于希望提升性能和体验的开发者来说,可以尝试使用 electron-vite 工具链。该工具旨在提供更快、更精简的开发体验,主要分为五个模块化组件进行优化[^2]。以下是其快速搭建方法: ```bash npm create vite@latest my-electron-project --template vanilla cd my-electron-project npm install electron @electron/vite-plugin-main-process-renderer ``` 更多细节请参考官方文档或相关资源链接。 --- 问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值