## Electron 简介
`Electron` 是 `跨平台` 的桌面应用。 `Electron` 兼容 Mac, Windows(xp不兼容) 和 Linux。 `Electron` 基于 `Chromium` 和 `Node.js`, 让你可以使用 HTML, CSS 和 JavaScript 构建应用。 `Electron` 的内核`Chromium`会随着`Electron`的版本更新而更新。当然,你也可以自己指定更新内核。(建议跟`Electron`版本更方便)
## Electron 的开发场景
(1) `Electron` 本地环境搭建(mac、windows)
(2) webvidw、browserview开发、flash使用与打包
(3) 进程通信问题
(4) 应用mac、windows打包
(5) 多窗口如何开发与打包
(6) `Electron` 自动升级(github 方案、自建服务器方案)
(7) mac、windows证书问题,360误报杀毒问题
#### `Electron` 本地环境搭建(mac、windows) 官方教程:https://electronjs.org/docs/tutorial/development-environment 1. mac 环境的搭建
(1)安装最新版node即可。
2. windows 环境的搭建
(1) 安装python2.7 (electron需要用到python来打包) 选择2.7版本进行下载 https://www.python.org/getit/
(2) 安装`node-gyp` npm install -g node-gyp // windows 编译工具(请耐心等待,大概要10-15分钟才行,完成后会有done的提示的) npm install --global --production windows-build-tools (3) 运行时出现此错误的话: MSBUILD : error MSB4132,无法识别工具版本“2.0” 等(还有提示啥14.0,4.0的都一样)。 // 此处2015 是电脑上装的2015 ,如果不是,可以看自己电脑是不是2012, // 或者不知道怎么看的,直接试试 2012 是不是得行。 npm install --msvs_version 2015 -g npm config set msvs_version 2015 -g
(4) 打包时候总有包,无论开不开代理都下不下来的话,请如下做: 复制终端中,下不下来的路径,直接去那个路径(应该是github的路径)下载, 并将文件拷贝到,如下目录下相关文件夹中,比如nsis的 C:\Users\pk\AppData\Local\electron-builder\Cache\nsis。
#### `Electron` demo 运行
官方示例: https://electronjs.org/docs/tutorial/first-app
1. 快速搭建与启动方式: 克隆这仓库 $ git clone https://github.com/electron/electron-quick-start 进入仓库 $ cd electron-quick-start 安装依赖库 $ npm install 运行应用 $ npm start
2. 7步带你理解整个过程: (1) 新建一个目录: myElectron (2) 切到目录下: npm init (3) package.json 中增加启动命令,start。文件具体内容如下:
{ "name": "myelectron", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "electron ." }, "author": "", "license": "ISC" } (4) 新建一个index.js,作为启动文件。(注意package.json中配置的也是这个文件哦: `"main": "index.js"`)
const { app, BrowserWindow } = require('electron');
function createWindow () { // 创建浏览器窗口 let win = new BrowserWindow({ width: 800, height: 600 });
// 然后加载 app 的 index.html. win.loadFile('index.html'); }
app.on('ready', createWindow);
(5) 新建index.html 用于呈现桌面应用页面的。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello World!</title> </head> <body> Hellow, World! </body> </html>
