Electron 简介

Electron跨平台 的桌面应用。
Electron 兼容 Mac, Windows(xp不兼容) 和 Linux。
Electron 基于 ChromiumNode.js, 让你可以使用 HTML, CSS 和 JavaScript 构建应用。
Electron 的内核Chromium会随着Electron的版本更新而更新。当然,你也可以自己指定更新内核。(建议跟Electron版本更方便)

Electron 的开发场景

(1) Electron 本地环境搭建(mac、windows)

(2) webvidw开发、flash使用与打包

(3) webview与渲染进程通信、主进程与渲染进程通信

(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. 快速搭建与启动方式:

    1
    2
    3
    4
    5
    6
    7
    8
    克隆这仓库
    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>

    (6) 安装依赖(建议用yarn,因为官方也推荐)

     ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ yarn add electron -D
    (ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ npm install electron --save-dev)

    (7) 运行electron

    yarn start (npm run start)