在打包的电子中找不到“电子获取”

分享于2022年07月17日 electron electron-forge typescript webpack 问答
【问题标题】:在打包的电子中找不到“电子获取”(Cannot find "electron-fetch" in packaged electron)
【发布时间】:2021-11-18 13:51:00
【问题描述】:

我目前正在尝试打包我的电子(-forge)(Webpack、React、TS)应用程序,该应用程序在渲染器进程中使用 electron-fetch

const fetch = window
.require("electron").remote
.require("electron-fetch").default;

如果我以 yarn start 开头,则应用程序运行良好。

但是在运行打包的应用程序时(来自 yarn package ),我收到以下错误:

 Uncaught Error: Cannot find module 'electron-fetch'
 Require stack:
 - path_to_app/resources/app/.webpack/main/index.js

删除 electron-fetch 后,打包的应用运行良好。

节点:v14.17.4
纱线:1.22.11


【解决方案1】:

可能是 Electron 无法读取 electron-fetch 二进制文件 app.asar 。确保在生产中从 app.asar 中排除 electron-fetch 模块,或者不要将您的应用打包为 asar 加密。阅读本期 Unable to access a file inside asar package

  • 我没有使用 .asar 档案
  • 不要使用电子。远程模块,它已被 electronV14 正式删除。