Windows系统electron-vue项目引入electron-updater运行报错求助
问题根因
你遇到的报错是electron-vue默认的webpack主进程构建配置将electron-updater及其依赖强制打包编译导致的,fs-extra、universalify这类依赖依赖原生Node运行时上下文,被webpack转译打包后会丢失模块引用,最终抛出属性读取失败的错误。
解决方案
- 第一步:修改主进程webpack配置,排除electron-updater打包
找到项目目录下.electron-vue/webpack.main.config.js文件,在externals配置项中新增electron-updater,示例配置如下:
module.exports = { // 其他原有配置保持不变 externals: [ 'electron', 'electron-updater' // 新增这一行 // 保留原有其他externals配置项 ] }
该配置会告知webpack不要对electron-updater进行打包编译,应用运行时会直接从node_modules目录加载对应依赖。
第二步:核对依赖安装位置
打开项目根目录package.json,确认electron-updater是放在dependencies字段下,而非devDependencies字段。只有放在生产依赖中,electron-builder打包时才会将该依赖打入最终的应用包内。第三步:确认electron-updater引入位置
electron-updater仅可在主进程代码中引入调用,不可直接在渲染进程中引入,若需要在渲染进程触发更新逻辑,请通过electron的IPC通信机制和主进程交互实现。
按上述步骤操作后重新打包运行即可解决报错。
内容的提问来源于stack exchange,提问作者fseydel
相关产品推荐
相关产品推荐

