electron
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調試
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" : ["."]
}
]
}
注冊全局快捷鍵
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)
globalShortcut.unregister(accelerator)
globalShortcut.isRegistered(accelerator)
globalShortcut.unregisterAll()
有用的應用 https://electronjs.org/apps/mockman 模擬服務器
https://electronjs.org/apps/advanced-rest-client 模擬請求
https://electronjs.org/apps/reversee
https://electronjs.org/apps/ling
https://electronjs.org/apps/hyper
https://electronjs.org/apps/system-designer
https://electronjs.org/apps/altair xxxxx
神奇的remote
https://imweb.io/topic/5b3b72ab4d378e703a4f4435 remote
常見錯誤
1:渲染進程中引用不了nodejs
var win = new BrowserWindow({ 600, height: 800, webPreferences: { nodeIntegration: true } })
總結
- 上一篇: 创业公司期权怎么分配(转)
- 下一篇: 硅胶礼物里有什么