关于electron:Electron-DevTools扩展

29次阅读

共计 1675 个字符,预计需要花费 5 分钟才能阅读完成。

为了使调试更容易,Electron 原生反对 Chrome DevTools 扩大。对于大多数 DevTools 的扩大,咱们能够间接下载源码,而后通过 BrowserWindow.addDevToolsExtension 加载它们。Electron 会记住曾经加载了哪些扩大,所以不须要每次创立一个新 window 时都调用 BrowserWindow.addDevToolsExtension

如何加载一个 DevTools 扩大程序

要在 Electron 中加载一个扩大,须要在 Chrome 浏览器中下载它,找到它在系统目录中地位,而后调用BrowserWindow.addDevToolsExtension(extension) 来加载它。

示例:

上面以 React Developer Tools 为例:

首先咱们须要在 Chrome 中装置 React Developer Tools。关上 chrome://extensions,找到扩大程序的 ID,形如 fmkadmapgofadopljbjfkapdkoienihihash 字符串。找到 Chrome 扩大程序的寄存目录:

  • Windows 下为 %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions
  • macOS 下为 ~/Library/Application Support/Google/Chrome/Default/Extensions
  • Linux 下为:
~/.config/google-chrome/Default/Extensions/
~/.config/google-chrome-beta/Default/Extensions/
~/.config/google-chrome-canary/Default/Extensions/
~/.config/chromium/Default/Extensions/
  • 将扩大的地址传递给 BrowserWindow.addDevToolsExtension,例如:
 const path = require('path')
 const os = require('os')
 BrowserWindow.addDevToolsExtension(path.join(os.homedir(), '/Library/Application Support/Google/Chrome/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/4.3.0_0')
 )

如何移除一个 DevTools 扩大程序

要移除一个 DevTools 扩大,能够传递扩大程序的名称到 BrowserWindow.removeDevToolsExtension 中,扩展名的名称由 BrowserWindow.addDevToolsExtension 返回,咱们能够应用 BrowserWindow.getDevToolsExtensions 应用程序编程接口。

示例:

例如移除一个指定扩大:

BrowserWindow.removeDevToolsExtension('React Developer Tools');

chrome.* APIs

Electron 只反对无限的 chrome.* API,所以一些扩大程序如果应用了不反对的chrome.* API,它可能会无奈失常工作。以下 DevTools 扩大程序曾经通过测试,能够在 Electron 中失常工作:

  • Ember Inspector
  • React Developer Tools
  • Backbone Debugger
  • jQuery Debugger
  • AngularJS Batarang
  • Vue.js devtools
  • Cerebral Debugger
  • Redux DevTools Extension
  • MobX Developer Tools

留神 Electron 目前并不反对 chrome 扩大里的后盾运行 (background pages) 性能,所以那些依赖此个性的 DevTools 扩大在 Electron 里可能无奈失常工作。

链接:https://www.9xkd.com/

正文完
 0