You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron-forge执行npm run make提示主入口文件不存在如何解决

问题根因

你启用了@electron-forge/plugin-webpack插件,该插件会自动将主进程、渲染进程代码单独编译打包到.webpack目录下,而你当前package.json的main字段指向的是源码路径./src/main.js,和webpack插件的打包输出逻辑冲突,导致Forge打包时找不到编译后的入口文件。你手动修改common.js源码的操作破坏了Forge默认的文件复制逻辑,才会出现resources/app目录为空的问题。

解决步骤

  • 第一步:撤销你对common.js文件的所有修改,直接修改第三方依赖源码不属于合规解决方案,会导致后续打包逻辑异常。
  • 第二步:修改package.json的main字段值,将原来的"./src/main.js"替换为"./.webpack/main/index.js",这是@electron-forge/plugin-webpack主进程代码的默认输出路径。
  • 第三步:检查你的webpack.main.config.js配置,确认entry字段正确指向./src/main.js,output字段的输出路径和文件名和上一步配置的main路径匹配,没有自定义过webpack配置的话默认就符合要求。
  • 第四步:删除项目根目录下的out、.webpack缓存目录,重新执行npm run make即可正常打包。

异常排查

如果按上述步骤操作后仍有问题,可依次检查以下项:

  • 执行npm run package查看编译过程,确认.webpack/main目录下成功生成了index.js文件,未生成则说明你的主进程webpack配置存在语法错误,可查看控制台的webpack编译报错信息修复。
  • 检查项目根目录下的.gitignore、.forgeignore文件,确认没有规则忽略.webpack目录或.js后缀文件,Forge打包时会自动读取这两个文件的忽略规则。
  • 如果你需要把源码中的静态资源、配置文件等非编译类文件打包到最终的app目录下,需要在forge配置的packagerConfig中添加extraResources规则指定要复制的文件/目录,webpack插件默认只会把编译后的代码文件打包进去。

内容的提问来源于stack exchange,提问作者TuftedDuckDebugger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:30:02