electron

  1. Electron是由Github開發,用HTML,CSS和JavaScript來構建跨平臺桌面應用程序的一個開源庫。
  2. Electron經過將ChromiumNode.js合併到同一個運行時環境中,並將其打包爲Mac,Windows和Linux系統下的應用來實現這一目的。
  3. Electron熱門產品  GitHub 的 Atom 和微軟的 Visual Studio Code,這兩款當下熱門的編輯器都是使用Electron開發的。 並且對JavaScript的支持也都很棒。
  4. Electron只用了Chromium的渲染庫而不是其所有組件。 這使得升級Chromium更加容易,但也意味着Electron缺乏了Google Chrome裏的一些瀏覽器相關的特性
  5. Electron同時在主進程和渲染進程中對Node.js 暴露了全部的接口
  6. 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 } })

相關文章
相關標籤/搜索