reactjs - Electron React App 在开发中运行良好,但在打包后就不行了
问题描述
我已经使用 React 构建了一个 Electron 应用程序。我正在使用 Electron-prebuilt-compile 以使其与 React 一起正常工作。当我正在开发并使用 npm start 运行它时,一切都很完美。我完成了版本 1,需要将其打包以安装在其他计算机上。我正在使用 Electron-builder 来做到这一点。我能够顺利运行,没有错误。然后我运行它生成的 .exe 并最终得到一个 Unexpected Token 错误(它指向一个导入)。就好像一旦我把它打包,它就不能再告诉什么是导入/导出,我认为这就是电子预编译编译器的用途。有什么我可能会丢失的吗?我遵循了几个不同的指南,也尝试了不同的打包脚本并得到了相同的结果。
这是我的项目仓库: 单击此处查看 GitHub 仓库
如果您想对其进行测试,则需要创建一个测试 firebase 数据库。然后创建一个与下面完全相同的 .env 文件,但带有您的 firebase 信息。或者直接将您的信息放入 app.jsx 文件中。
FIREBASE_APIKEY =
FIREBASE_AUTHDOMAIN =
FIREBASE_DATABASEURL =
FIREBASE_PROJECTID =
FIREBASE_STORAGEBUCKET =
FIREBASE_MESSAGINGSENDERID =
解决方案
在类似情况下对我有用的是electron
从依赖项中删除,这听起来很奇怪。你实际上并不需要它,因为它electron-prebuilt-compile
提供了它自己的电子版本(可作为 访问electron
),它适用于 React 和 ES6。那是您要使用的电子,而不是常规的电子electron
,它不适用于开箱即用的那些东西。
在此处查看电子预建编译文档https://www.npmjs.com/package/electron-prebuilt-compile,其中显示“现在您可以运行electron
以运行电子:”
这是我工作项目中所有各种“电子”依赖项(也许有些是重复的):
"electron-forge": "^5.2.2",
"electron-prebuilt-compile": "2.0.0"
"electron-compile": "^6.4.2",
"electron-rebuild": "^1.7.3",
"electron-squirrel-startup": "^1.0.0",
"electron-window-state": "^4.1.1",
推荐阅读
- swift - Swift 从函数返回不同的类型
- db2 - 为什么不在 IBM Data Client 中运行包?为什么这个软件看不到功能和程序?
- reactjs - Reactjs,this.context 已弃用
- go - 在结构定义之外有方法的原因是什么?
- javascript - 如何使用鼠标中轮按钮拖动 Openseadragon 画布
- excel - 在每个 IF 语句中的真值或假值的 excel 中嵌套 IF 时遇到问题
- amazon-web-services - 如何使用 aws cloudwatch get-metric-widget-image?
- ios - 在 WebView ios 中下载图像
- python - 在表中插入总行数,不使用 Pandas,但仅使用循环
- django - 基于类的视图中的 django 授权