当前位置:首页 » 《我的小黑屋》 » 正文

Electron手动加载Devtools扩展_HBHJHGJ的博客

18 人参与  2021年12月23日 12:00  分类 : 《我的小黑屋》  评论

点击全文阅读


参考资料

Electron官网 DevTools Extension

1、安装浏览器扩展

建议无法访问外网的读者使用Edge浏览器安装扩展,本文将以Edge浏览器为例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、获取扩展路径

在这里插入图片描述

比如我的redux devtools的路径为 C:\Users\lujunji\AppData\Local\Microsoft\Edge\User Data\Default\Extensions\nnkgneoiohoecpdiaponcejilbhhikei\2.17.0_0

3. 编写加载程序文件

不要忘记将路径分隔符 \ 替换为 /

installExtension.js

const { session } = require('electron')

// react-developer-tools 扩展的绝对路径
const REACT_DEVELOPER_TOOLS = "C:/Users/lujunji/AppData/Local/Microsoft/Edge/User Data/Default/Extensions/gpphkfbcpidddadnkolkpfckpihlkkil/4.18.0_0"

// redux-devtools 扩展的绝对路径
const REDUX_DEVTOOLS = "C:/Users/lujunji/AppData/Local/Microsoft/Edge/User Data/Default/Extensions/nnkgneoiohoecpdiaponcejilbhhikei/2.17.0_0"

// 向外暴露installExtension函数
exports.installExtension = function installExtension() {
  session.defaultSession.loadExtension(REACT_DEVELOPER_TOOLS)
  session.defaultSession.loadExtension(REDUX_DEVTOOLS)
}

4. 在main.js中执行installExtension函数,加载开发工具扩展

main.js

const { app, BrowserWindow } = require('electron')
const path = require('path')
const { installExtension } = require('./devtoolsInstaller')

function createWindow() {

  let window = new BrowserWindow({
    width: 1024,
    height: 678,
    webPreferences: {
      preload: path.resolve(__dirname, 'preload.js')
    }
  })

  window.openDevTools()
  window.loadURL('http://localhost:3000')

  window.on('closed', () => {
    window = null
  })
}

app.whenReady().then(() => {
  installExtension() // 必须在ready事件后加载开发工具扩展
  createWindow()
})

app.on("window-all-closed", () => {
  if (process.platform !== 'darwin') app.quit()
})

除了手动加载devtools extension之外,还可以使用工具(不要问我为什么不使用工具)

5. 结果

在这里插入图片描述

虽然有报错,但开发工具扩展仍然可以使用,报错的原因应该与redux devtools本身有关


点击全文阅读


本文链接:http://zhangshiyu.com/post/32005.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1