- 窗体
require('electron').remote.BrowserWindow
创建与管理浏览器窗口- on():unresponsive,responsive
- show(),focus(),getSize(),getPosition(),close()
- loadURL()
- fromWebContents()(OSX)
- getFocusedWindow()
- fromId()
webContents
- on():crashed,context-menu,did-finish-load
- send()
- 处理路径
require('path')
- 弹出框
require('electron').remote.dialog
- showMessageBox()
- showOpenDialog()
- showErrorBox()
- showSaveDialog()
- 进程
process
- crash(),hang()
- platform
- versions(.electron)
- 主进程
app
- on():ready,browser-window-created,window-all-closed,browser-window-created
- getVersion()
- emit()
- getAppPath()
- 菜单
electron.Menu
- setApplicationMenu(Menu.buildFromTemplate(template))
- append()
- popup()
- 上下文菜单
electron.MenuItem
- 全局快捷键
electron.globalShortcut
- register()
- unregisterAll()
- 进程通信
electron.ipcMain
electron.ipcRenderer
- on():show-context-menu
- event.sender.send()
- sendSync()
- 操作系统
os
- homedir()
- 系统托盘
electron.Tray
- setToolTip()
- setContextMenu()
- destroy()
- 系统通知
window.Notification
- 屏幕
require('electron').screen
- getPrimaryDisplay()
- 剪贴板
require('electron').clipboard
- writeText()
- readText()
- 屏幕截图
electron.desktopCapturer
- getPrimaryDisplay()
- getSources()
- 自动更新
autoUpdater
- 壳
require('electron').shell
- openExternal()
- showItemInFolder()
- 帮助菜单的区别,加速器设置的区别,设置与首选项的区别
- vue-cli的elctron-vue模板安装
- ESLint、Karma、Mocha、Spectron等测试工具
karma
是测试运行框架,供mocha、jasmine
测试框架运行,主要是监控文件与配合karma-coverage
展示代码覆盖率,与babel-plugin-istanbul
结合可去除其它文件对覆盖率的影响
- electron-packager/electron-builder(是安装文件/可执行文件、是否有源码、是否可以自动打包发布
- 进行开发环境
管理员权限
install- yarn包管理器与npm相比:离线缓存使速度提升,锁住依赖包的版本,并行安装
- yarn指令yarn/yarn install安装包、global全局、add [--dev]添加、upgrade @[version]/@[tag]、remove、license、why、init
- yarn包管理器与npm相比:离线缓存使速度提升,锁住依赖包的版本,并行安装
src/main
主进程:- 开发环境:开发工具、载入主文件
- 主进程(ready、全关闭、再激活、更新检查)、窗口(窗口实例、打开文件、关闭事件)、global全局数据
pack
脚本将打包应用(当前OS)的可运行文件包、build/*-unpacked/
build
脚本将打包四个不同系统的可运行文件包、build/*-OS-x64