问题标签 [electron-forge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
872 浏览

windows - Elecronjs 全局键盘快捷键在 make 后不起作用(使用电子锻造)

我目前正在开发一个类似于聚光灯搜索的应用程序。其中一项功能是能够使用键盘快捷键(在本例中为 ctrl + D)调用搜索栏。我正在使用 electron.js 来创建它。为了创建全局快捷方式,我使用了以下内容:

在测试期间(使用electron-forge),我会输入命令electron-forge start来临时运行程序,它运行良好,但是在运行electron-forge make并运行exe文件后,快捷方式不再用于隐藏/模糊窗口,但它确实有效召唤窗户。

我尝试将 ctrl + D 命令更改为 ctrl + X (由电子推荐)和其他几个命令并重新制作项目以确保快捷方式未被使用,但没有运气。我也从 isFocused 而不是 isVisible 开始,即使在测试中也不起作用。

注意:我使用的是 Windows 10,有时在使用电子时,它的运行方式与 Mac 不同,尽管它在这个问题上确实不应该有所作为。

0 投票
2 回答
956 浏览

ffmpeg - Windows 10 EV 代码签名不再适用于电子应用程序

我有一个电子应用程序。非常基本的应用程序。它不使用 ffmpeg 不时播放 mp3 铃声。我使用松鼠格式使用电子锻造构建我的应用程序。然后我使用 SafeNet Authentication 应用程序对其进行签名。它总是完美无缺地工作。

距离我上次发布版本已经过去几个月了。唯一改变的是我的电子应用程序中的一些 html ui 更新,当然还有很多 Windows 10 更新。

我的应用程序使用 electron-forge 构建良好,安装和运行没有问题。然后我像往常一样从命令行签名,SafeNet 确认它已签名。右键单击该文件显示它已由我的组织签名。但是,一旦我执行签名的应用程序,我就会收到此错误:“代码执行无法继续,因为找不到 ffmpeg.dll。重新安装程序可能会解决此问题。”

这是我到目前为止所尝试的:

  • 在不同的 Windows 10 机器上构建/签名。
  • 卸载/重新安装 SafeNet。
  • 在不同的 Windows 10 实例上运行签名的 .exe
  • 使用 cmd 会话构建/签名以管理员身份运行

我很茫然,为什么它对我的应用程序不依赖的 ffmpeg.dll 大喊大叫?为什么只有在 .exe 签名后才会出现此错误?

操作系统:Windows 10
Electron v7.3.2
Electron-Forge/cli v6.0.0-beta.47
SafeNet x64 v10.3

0 投票
0 回答
327 浏览

electron - 由于错误的目录路径,电子生成器失败

我正在 github 操作中构建一个电子应用程序......

这工作正常: electron-builder --x64 --publish never

但这不会:electron-builder --x64
构建失败

如果我们仔细观察rock_test/rock_test,rock_test 是 repo 文件夹。
但我不知道为什么它会重复两次以及如何解决它......

0 投票
1 回答
433 浏览

reactjs - useState() 反应/电子最终出现空白屏幕

我正在编写一个反应电子程序。尝试在这里使用 react-bootstrap 模块中的模态。我偶然发现了一个问题,经过一些测试后发现这是导致问题的 useState() 行。每当我包含 useState() 时,屏幕就会完全空白,不仅是使用状态的组件,还有电子应用程序的整个窗口以及所有父组件和兄弟组件。这与最有可能将其用于模态无关,因为它也不适用于简单的 useState() 情况。这是我的这个组件的代码:

我会很感激任何帮助,我是电子新手并且一般会做出反应。

0 投票
1 回答
879 浏览

javascript - 使用电子伪造打包应用程序时出现问题“无法解析'./→'”

我无法将我的 Electron 应用程序与electron-forge. 看起来罪魁祸首是本机模块,例如'sqlite3'。

运行命令npm run package时,我收到以下错误: Module not found: Error: Can't resolve './→' in 'C:\Users\pauco\mybeast\node_modules\node-pre-gyp\lib'

我试过了:

  • npm rebuild
  • node_modules\.bin\electron-rebuild

完整跟踪:

包.json

webpack.backend.config.js

webpack.renderer.config.js

0 投票
0 回答
35 浏览

javascript - 单击 .app 后 Node.Js 子进程不会启动,但如果从 unix 可执行文件运行时会启动

我正在使用带有 python 后端的 ElectronJS 开发应用程序。Electron 和 Python 通过 python 进行通信,使用 flask 来托管一个返回 JSON 等的网络服务器。

这是我的情况 - 通过右键单击 .app,然后进入 Contents/MacOS 并在其中运行 unix 可执行文件,该应用程序运行良好。但是,如果我只是双击 .app,python 后端不会启动。

我不确定如何查看控制台输出以查看启动 python 的命令出了什么问题,但这里是启动 python 进程的行 -

我使用了很多存储在用户机器上的配置文件,所以在我看来摆脱 Electron 并仅仅托管在云中并不是一个好的选择,但我可能是错的。

该软件未签名或验证,所以我想知道如果您未签名,这是否可能是 MacOS 阻止执行 shell 命令/脚本的问题。

0 投票
1 回答
342 浏览

javascript - Electron - 一致的性能和启动子 Node.js 进程

在我提供一些背景知识之前,我想澄清一下,我不是在寻找如何在 Electron 运行时简单地生成一个新脚本作为渲染器进程,我正在尝试使用普通的 Node 运行时。

所以我知道 Electron 在它的引擎盖下有一些不同风格的 JS 运行时,类似于 NW.js,我正试图为我的报告获得一致的性能结果。

不幸的是,这似乎比我想象的要困难得多。我专门测试了mailparser模块的速度,尽管这在这里并不重要。

  1. 我首先在使用 Electron Forge 的 Electron 应用程序上运行它。我通过 IPC 调用了测试脚本,因为这是我们打算使用的,所以它是在回调中调用的ipcMain.handle。在这里,性能真的很差,我们的测试需要 30-50 秒才能完成。

  2. 然后我运行了一个测试脚本,它只在同一个 Electron Forge 应用程序中打开一个空白 HTML 文件,并在后台运行测试脚本。这在 8-12 秒时要好得多。

接下来,我设置了一个新目录,其中包含一个测试集、一个普通的 Electron 安装和一个mailparser安装。我没有electron-rebuild在这里,但mailparser确实依赖于node-iconv本机绑定,因此也有。

  1. 我用 Electron 运行了一个测试脚本,只调用了同一行代码。这没有使用 Electron Forge。这里的性能在 5-9 秒时稍好一些。

  2. 然后我运行了另一个测试脚本,这次只使用普通的旧节点,这里的性能在 1-3 秒时非常出色。

所以我在这里有两个问题:

  1. 为什么电子测试中的性能差异如此之大?虽然我使用了 IPCMain,但我使用了 new .handle,它应该是异步的,并且在 Electron 的节点运行时的上下文中运行,因此它应该具有与在回调之外运行相同的性能。此外,Electron Forge 和普通 Electron 测试也相差几秒钟,这对我来说毫无意义,因为我认为 Electron Forge 只会将 Electron 二进制文件包裹在引擎盖下。

  2. 寻求最佳和一致的结果,我想知道如何使用 Electron 中的节点运行时启动子进程。这样做通常只会启动一个新的渲染器进程,该进程正在运行 Electron 的(较慢的)JS 运行时。我想避免离开 Electron Forge,但我能想到的唯一解决方案是将预编译的二进制文件与在为每个平台构建的 Node 运行时下运行的进程捆绑在一起。

0 投票
1 回答
314 浏览

electron - 发布电子应用程序以避免 Windows Defender 和 Smart Screen 的最佳方法是什么?

我正在尝试在 arc=x64 和 platform=win32 上发布使用 Electron-Forge 以 Squirrel.Windows 格式构建的 Electron 应用程序,但 Windows 显示很多错误,例如:、、Microsoft Defender Smart Screen 阻止了无法识别的应用程序启动“ ,windows 后卫等待接受。

有没有办法避免这些错误而不必购买成本 300-400 美元的证书?

该应用程序应该仅与 app.exe 一起分发,还是应该将所有 3 个文件压缩在一起:.nupkg、.exe 和 RELEASES?谢谢!

我应该使用 WiX MSI 吗?

0 投票
0 回答
952 浏览

node.js - electron:electron-forge 打包在 Windows 上失败,但在 macOS 上有效

环境

  • 视窗 10
  • 电子锻造:6.0.0-beta.51

问题

我的电子应用程序electron-forge用于包装。它在 macOS 上构建良好,但有一些错误,我无法通过谷歌搜索关键字找到任何线索

使用 npm 日志

我用谷歌搜索innerSubscribe但看到的结果很少。所以我怀疑这只是由其他原因引起的虚假错误。

这是我的package.json

期待

我希望考虑到我package.json的 ,包装可以在 Windows 和 macOS 上运行。一个月前,一切似乎都很好。不幸的是,我之前没有 CI,当我开始构建 CI 管道时,我遇到了这个问题。

问题

我应该如何解决这个问题?

0 投票
0 回答
238 浏览

electron - Electron Forge Typescript+Webpack Boilerplate 不会为渲染器脚本生成源映射

源映射仅为主进程脚本生成,而不是为渲染器进程脚本生成。如果项目是通过 tsc 编译的,则会生成源映射。

链接到样板的文档:https ://www.electronforge.io/templates/typescript-+-webpack-template

如何安装样板:npx create-electron-app my-new-app --template=typescript-webpack

将不胜感激任何帮助。谢谢。