Electron是由github开发的开源框架,允许开发者使用web技术构建跨平台的桌面应用

GUI由Chromium提供,底层通过Nodejs提供,Native API提供桌面端和跨平台的原生功能

Visual Studio Code和Atom都是使用Electron开发的,可以说技术很成熟

但是毕竟是基于Chromium的,打包出来的应用非常大,就算是个halloword,也要几百m

安装Electron

npm install electron –save-dev

全局安装

npm install -g electron

新建项目,并且在该目录下建立index.html文件和main.js

mian.js是Electron应用的配置文件

导入electron模块

var electron = require(’electron')

创建Electron引用

var app = electron.app

创建窗口引用

var BrowserWindow = electron.BrowserWindow

声明主窗口

var mainWindow = null

设置参数

app.on('ready',()=>{
    mainWindow = new BrowserWindow({
        // 设置窗口大小
        width:500,
        height:500,
        webPreferences:{
            nodeIntegration: true
            // 是否集成node
        }
    })   
    mainWindow.loadFile('index.html')  // 指定窗口加载那个页面
    mainWindow.on('closed',()=>{
        mainWindow = null
        // 监听销毁事件,事件触发关闭主窗口,设置为null
    })
})

初始化

npm init –yes

启动项目

electron .

安装打包应用依赖

npm install electron-packager –save-dev

修改package.json文件

“packager”: “electron-packager ./ halloword –platform=all –out=./App”

./是项目路径,hallword是项目名字,–platform=all是构建x86和x64构架,也可以指定win32或者win64

–out=./App是打包应用到哪个文件夹中

启动打包应用

npm run-script packager

加密app文件夹,避免程序暴露

安装asar

npm install asar -g

在项目中安装

npm install asar –save-dev

启动加密

asar pack ./app app.asar