# Electron简介 [TOC] ## Electron简介 Electron是一个能让你使用 JavaScript, HTML 和 CSS 来创建桌面应用程序的框架。 这些应用程序可以打包后在 macOS、Windows 和 Linux 上直接运行,或者通过 Mac App Store 或微软商店进行分发。 ## 什么时候使用Electron 1.公司没有专门的桌面应用开发者,而需要前端兼顾来进行开发时,用Electron就是一个不错的选择。 2.一个应用需要同时开发Web端和桌面端的时候,那使用Electron来进行开发就对了。 3.开发一些效率工具,比如API类的工具。 ## 环境 检查 Node.js 是否正确安装: ``` node -v npm -v ``` ## 安装Electron - 新建项目文件夹my-electron-app cmd下运行命令 ``` npm init -y npm i --save-dev electron ``` 最小的 Electron 应用程序具有以下结构: my-electron-app/ ├── package.json ├── main.js └── index.html - 创建index.html ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello World!</title> <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" /> </head> <body style="background: white;"> <h1>Hello World!</h1> <p> We are using node <script>document.write(process.versions.node)</script>, Chrome <script>document.write(process.versions.chrome)</script>, and Electron <script>document.write(process.versions.electron)</script>. </p> </body> </html> ``` - 创建main.js ``` //BrowserWindow控制桌面应用窗口 const { app, BrowserWindow } = require('electron') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, //可以使用node.js下的所有模块 webPreferences: { // 解决require is not defined问题 nodeIntegration: true } }) win.loadFile('index.html')//加载index.html页面 } app.whenReady().then(createWindow) // 关闭窗口,释放内存 app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } }) ``` - 创建package.json - 自动初始化生成package.json ``` npm init --yes //生成package.json ``` - 手动创建package.json 默认情况下,`npm start`命令将用 Node.js 来运行主脚本。 要使用 Electron 来运行脚本,您需要将其更改为这样: ``` { "name": "my-electron-app", "version": "0.1.0", "author": "your name", "description": "My Electron app", "main": "main.js", "scripts": { "start": "electron ." } } ``` ## 关于安装 - 无法下载electron的情况下 设置淘宝镜像源 ``` npm config set ELECTRON_MIRROR https://npm.taobao.org/mirrors/electron/ ``` - 局部安装 在项目文件夹下运行开发环境安装electron到项目中 ``` npm i --save-dev electron 或 npm install electron --save-dev ``` - 全局安装 ``` npm install -g electron ``` - 全局安装启动命令 ``` electron . ``` - 局部安装启动命令,运行下面文件 ``` ./node_modules/.bin/electron . ``` ## 检查Electron安装是否成功 ~~~ npx electron -v ~~~ ![](https://img.kancloud.cn/bd/1b/bd1b6f9be564b97ef9f586c8cf949ca6_420x68.png) ## 运行Electron 启动Electron ``` electron . ``` ![](https://img.kancloud.cn/56/ae/56ae39ee95ebe3fefda38736094ba095_1920x1048.png)