Electron引入devtron时报错addDevToolsExtension不是函数的问题咨询
报错原因
- API 版本不兼容:Electron 从 v9 版本开始废弃
BrowserWindow.addDevToolsExtension接口,v12 及以上版本完全移除该接口,你当前使用的 Electron 版本为 15.3.1,已经不存在该方法。 - devtron 官方已停止维护,其内置的安装逻辑仍在调用早已被移除的旧版 API,因此触发类型错误。
解决方案
方案1:手动加载 devtron 扩展(适配高版本 Electron)
- 首先修改 electron 引入语句,新增 session 模块导入:
const { app, BrowserWindow, ipcMain, session } = require('electron');
- 替换原有
require('devtron').install()代码,改为从 session 手动加载扩展:
const devtronPath = require('devtron').path session.defaultSession.loadExtension(devtronPath)
前置条件:确保已经安装 devtron 依赖,可执行 npm i devtron --save-dev 安装
方案2:移除 devtron 依赖(推荐)
devtron 已多年未更新,其提供的调试能力目前 Electron 内置 DevTools 已经全部覆盖,无特殊需求可直接移除相关逻辑:
- 删除 main.js 中
require('devtron').install()整行代码 - 执行
npm uninstall devtron卸载依赖即可
额外代码问题修正
你当前代码存在一处变量名不匹配的语法错误,需修正:
// 原错误代码 ipcMain.on('message',(event,args) => { console.log(arg) // arg 变量未定义 }) // 修改后 ipcMain.on('message',(event,args) => { console.log(args) })
内容的提问来源于stack exchange,提问作者Glitr
相关产品推荐
相关产品推荐

