Electron打包React应用报错:找不到electron.js模块
解决Electron打包React应用后找不到electron.js的问题
试试这几个排查和解决方向:
确认package.json的main字段位置与正确性
确保"main": "main.js"配置正确,且main.js文件确实在项目根目录下(不要嵌套在src或其他子文件夹)。Electron依赖这个字段定位入口文件,若路径错误,打包后会出现入口找不到的异常,甚至误尝试加载不存在的electron.js。完善electron-builder的files配置
当前build.files配置缺少package.json,Electron打包后需要读取该文件确认入口信息。修改files数组:"files": [ "package.json", "build/**/*", "preload.js", "main.js" ]保证所有必需文件都被正确打包进app.asar包内。
修正preload.js的路径写法
将main.js中preload的路径从app.getAppPath()替换为__dirname,打包后app.getAppPath()指向的路径可能不符合预期,__dirname的路径解析更稳定:preload: path.join(__dirname, "preload.js"),检查打包命令的执行目录
运行npm run package时必须在项目根目录执行,若在子目录执行会导致路径解析错误,进而引发入口文件找不到的问题。清理缓存后重新打包
删除项目根目录下的dist文件夹、node_modules/.cache目录,重新执行npm install和npm run package,避免缓存残留导致的异常。
内容的提问来源于stack exchange,提问作者Sara Freitas
相关产品推荐
相关产品推荐

