- Electron是由Github開發,用HTML,CSS和JavaScript來構建跨平臺桌面應用程序的一個開源庫。
- Electron經過將Chromium和Node.js合併到同一個運行時環境中,並將其打包爲Mac,Windows和Linux系統下的應用來實現這一目的。
- Electron熱門產品 GitHub 的 Atom 和微軟的 Visual Studio Code,這兩款當下熱門的編輯器都是使用Electron開發的。 並且對JavaScript的支持也都很棒。
- Electron只用了Chromium的渲染庫而不是其所有組件。 這使得升級Chromium更加容易,但也意味着Electron缺乏了Google Chrome裏的一些瀏覽器相關的特性
- Electron同時在主進程和渲染進程中對Node.js 暴露了全部的接口
- Electron支持chrome開發者工具調試 win.webContents.openDevTools()
使用vscode調試javascript
1.在 VSCode 中打開一個 Electron 項目。 $ git clone git@github.com:electron/electron-quick-start.git $ code electron-quick-start Copy 2.添加一個 .vscode/launch.json 文件並使用如下配置: { "version": "0.2.0", "configurations": [ { "name": "Debug Main Process", "type": "node", "request": "launch", "cwd": "${workspaceRoot}", "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron", "windows": { "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd" }, "args" : ["."] } ] }
註冊全局快捷鍵java
const {app, globalShortcut} = require('electron') app.on('ready', () => { // 註冊一個 'CommandOrControl+X' 的全局快捷鍵 const ret = globalShortcut.register('CommandOrControl+X', () => { console.log('CommandOrControl+X is pressed') }) if (!ret) { console.log('registration failed') } // 檢查快捷鍵是否註冊成功 console.log(globalShortcut.isRegistered('CommandOrControl+X')) }) app.on('will-quit', () => { // 註銷快捷鍵 globalShortcut.unregister('CommandOrControl+X') // 清空全部快捷鍵 globalShortcut.unregisterAll() })
相關方法
globalShortcut.register(accelerator, callback)
有用的應用 https://electronjs.org/apps/mockman 模擬服務器 node
https://electronjs.org/apps/advanced-rest-client 模擬請求git
https://electronjs.org/apps/reverseegithub
https://electronjs.org/apps/lingweb
https://electronjs.org/apps/hyperchrome
https://electronjs.org/apps/system-designerjson
https://electronjs.org/apps/altair xxxxxwindows
神奇的remoteapi
https://imweb.io/topic/5b3b72ab4d378e703a4f4435 remote
常見錯誤
1:渲染進程中引用不了nodejs
var win = new BrowserWindow({ width: 600, height: 800, webPreferences: { nodeIntegration: true } })