我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

成功道路上的同学们,大家好。苏南大叔在本文中,将要讲述:如何给electron增加一个--debug参数。传递这个参数后,我们的electron应用程序,将主动打开开发者工具栏。

苏南大叔:electron如何通过--debug启动参数,调用开发者工具 - electron-debug-param
electron如何通过--debug启动参数,调用开发者工具(图6-1)

前言

苏南大叔在electron-api-demo中,使用了其自带的--debug功能,调出了应用程序中集成的开发者工具。但是,在其它的源码中,例如electron-quick-start项目中,试图使用这个--debug的时候,却没有任何反应。这是为什么呢?

答案就是:在electron-api-demo中,electron--debug功能,是项目代码main.js中自定义的。并非原生的功能。那么,苏南大叔修改了原版代码中的一些缺陷不足,成功的移植这个功能到了其他项目中。

原版代码

原本的代码中的核心部分,来自electron-api-demo中的main.js。截图如下:

苏南大叔:electron如何通过--debug启动参数,调用开发者工具 - 000
electron如何通过--debug启动参数,调用开发者工具(图6-2)

苏南大叔:electron如何通过--debug启动参数,调用开发者工具 - 001
electron如何通过--debug启动参数,调用开发者工具(图6-3)

原版的代码中,有些小问题。如下:

  • --debug参数必须是在处在electron中的参数的第二个位置,其他位置的话,不能识别。
  • devtron组件,在别的项目里使用的时候,必须npm install devtron --save-dev才可以。

改造版代码

苏南大叔对上述代码稍稍进行了改造,改造完的结果如下。

let mainWindow
const debug = (process.argv.indexOf("--debug")>=0)
function createWindow () {
  //...
  if (debug) {
    mainWindow.webContents.openDevTools()
    mainWindow.maximize()
    //require('devtron').install()
  }
  //...
}

苏南大叔:electron如何通过--debug启动参数,调用开发者工具 - 002
electron如何通过--debug启动参数,调用开发者工具(图6-4)

这个代码,就避免了原版代码中的两个小尴尬。增加相关代码到main.js中之后,就可以在electron命令中,使用--debug来打开开发者工具了。非常实用的electron调试技巧,马上get吧~

electron . --debug

故障复现

下面的截图,将会复现原版代码中的问题。
1,--debug参数不在第二参数位置的话,就不会生效。

苏南大叔:electron如何通过--debug启动参数,调用开发者工具 - 003
electron如何通过--debug启动参数,调用开发者工具(图6-5)

2,移植到新项目后,没有安装devtron的话,会略显尴尬。

苏南大叔:electron如何通过--debug启动参数,调用开发者工具 - 010
electron如何通过--debug启动参数,调用开发者工具(图6-6)

相关文章

小结

chrome的开发者工具,是electron开发的调试手段之一,而devtron是依附于开发者工具的另外一个强力辅助手段。

请注意,在本文中:

  • 并没有启用devtron。在未来的文章中,苏南大叔,会对devtron进行介绍。
  • 对于开发者工具devtools的出现位置,代码中并没有做出设定。所以,开发者工具会出现在上一次出现的位置。如果您想对出现位置进行自定义,您可以参考这篇文章。https://newsn.net/say/electron-devtools.html

大家在对electron的入门学习中,掌握到这些新的技巧了么?由苏南大叔带来的:有关electron更多精彩内容,请点击这里查看:https://newsn.net/tag/electron/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   F12    electron