启动 Electron.exe 或电子项目 - 没有 BrowserWindow 打开

泰伊苏姆

我一直在尝试让 Electron 程序在我的 Windows 10 笔记本电脑上运行,但无法BrowserWindow打开,当我从 Visual Studio 2017 运行应用程序时,只有控制台打开。当我尝试Electron.exe从文件夹中打开它本身时,没有任何反应。不过,可以在任务管理器中看到电子进程。

由于我没有收到任何错误或任何内容,因此我对此感到非常困惑。什么可以“阻止”Electron 显示任何窗口?错误的代码不是原因,因为我在我的项目中使用了与 Electron 快速启动完全相同的代码,并且打开Electron.exe不需要做任何事情。

编辑:当我尝试在 VS2017 中从零开始制作尽可能简单的 Electron 应用程序时,我尝试在console.log()任何地方输入命令以查看调用的内容。win = new BrowserWindow()一行之前有一个日志命令,在一行之后有一个日志命令的地方,该行之后的一个new BrowserWindow()没有被放入控制台。或者之后的任何其他。没有错误,警告,任何可以看到的。两个进程启动,其中一个进程在一段时间后消失。

编辑#2:选项BrowserWindow只是高度和宽度({width: 800, height: 600})没有什么特别的。但是在手动尝试每个 Electron 版本后,我注意到件事:1.4.16 之后的每个 Electron 版本都不会在我的计算机上运行。1.5.0 及更高版本不会让我创建新的BrowserWindow. 我不知道这是什么原因。他们在 1.5.0-> 中有什么变化,以至于我无法打开窗户。

我尝试在 VS 中使用断点,但是一旦BrowserWindow执行了创建new 的行,代码执行就会......“跳过”其他所有内容。它不会转到下一个断点,不会崩溃,不会执行任何其他操作,不会抛出任何错误,只是如此。Electron.exe控制台打开,VS 仍然显示程序正在运行,但仅此而已。这真的很奇怪。试图运行时,同样的情况,快速启动应用程序从使用命令行npm start

泰伊苏姆

我只是在这里发布答案,因为我很久以前就设法解决了这个问题。出于某种原因,只要到达创建新窗口实例的部分,脚本就会“停止”。

解决这个问题的方法是使用 setTimeout() 和 0 延迟,并将其余代码放在新函数下。这可能与比赛条件有关,但我不知道。我通过一些随机的 GitHub 问题部分评论找到了这个解决方案。

另一件事:这个问题似乎只发生在应用程序启动时创建窗口时,而不是当应用程序已经运行时稍后通过 UI 按钮调用函数时。

// Works
setTimeout(function () {
        var newWindow = new BrowserWindow({options});
}, 0);

// Doesn't work
var newWindow = new BrowserWindow({options});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法用电子打开我的 BrowserWindow?

来自分类Dev

在Linux中启动离子项目

来自分类Dev

无法创建/启动离子项目

来自分类Dev

当我使用“打开方式”并导航到要打开的文件时,没有任何反应,除非我重新启动 explorer.exe

来自分类Dev

当子项目是当前目录时,为什么我的gradle子项目没有配置为子项目?

来自分类Dev

监视 electron.BrowserWindow 构造函数并返回一个带有 jasmine 的模拟对象

来自分类Dev

单击子项目jQuery后保持菜单打开

来自分类Dev

在Electron BrowserWindow中进行全文本搜索

来自分类Dev

尝试在Windows 10上使用CMD将电子项目编译为.exe时,电子打包程序返回“响应代码404(未找到)”

来自分类Dev

从浏览器启动腻子也会打开cmd.exe

来自分类Dev

用参数启动exe,但是打开后程序立即关闭?

来自分类Dev

没有exe文件的Spectron和电子

来自分类Dev

命令提示符启动带有.exe扩展名的“ java.exe”,但没有没有.exe扩展名的启动

来自分类Dev

如果没有exe文件,如何使程序/应用程序小部件在启动时启动?

来自分类Dev

带有独立子项目的CMake项目

来自分类Dev

没有为所有树子项目调用QAbstractItemModel :: data()

来自分类Dev

有没有办法在 Github 中处理子项目?

来自分类Dev

如何在具有多个子项目的SBT项目中覆盖子项目中的设置

来自分类Dev

有没有办法从命令行打开启动Eclipse,例如vscode?

来自分类Dev

有没有办法从终端打开“会话和启动” GUI?

来自分类Dev

如何使SBT子项目具有多个Scala版本?

来自分类Dev

具有左右对齐文本的离子项目

来自分类Dev

是否有子项目/组件的Spring版本矩阵?

来自分类Dev

在现有离子项目中添加离子cli

来自分类Dev

IntelliJ IDEA具有多个gradle子项目

来自分类Dev

是否有子项目/组件的Spring版本矩阵?

来自分类Dev

带有数据库的离子项目

来自分类Dev

电子,从 BrowserWindow 打印到PDF

来自分类Dev

为什么图像没有出现在mfc CListView / CListCtrl的子项目中?

Related 相关文章

  1. 1

    无法用电子打开我的 BrowserWindow?

  2. 2

    在Linux中启动离子项目

  3. 3

    无法创建/启动离子项目

  4. 4

    当我使用“打开方式”并导航到要打开的文件时,没有任何反应,除非我重新启动 explorer.exe

  5. 5

    当子项目是当前目录时,为什么我的gradle子项目没有配置为子项目?

  6. 6

    监视 electron.BrowserWindow 构造函数并返回一个带有 jasmine 的模拟对象

  7. 7

    单击子项目jQuery后保持菜单打开

  8. 8

    在Electron BrowserWindow中进行全文本搜索

  9. 9

    尝试在Windows 10上使用CMD将电子项目编译为.exe时,电子打包程序返回“响应代码404(未找到)”

  10. 10

    从浏览器启动腻子也会打开cmd.exe

  11. 11

    用参数启动exe,但是打开后程序立即关闭?

  12. 12

    没有exe文件的Spectron和电子

  13. 13

    命令提示符启动带有.exe扩展名的“ java.exe”,但没有没有.exe扩展名的启动

  14. 14

    如果没有exe文件,如何使程序/应用程序小部件在启动时启动?

  15. 15

    带有独立子项目的CMake项目

  16. 16

    没有为所有树子项目调用QAbstractItemModel :: data()

  17. 17

    有没有办法在 Github 中处理子项目?

  18. 18

    如何在具有多个子项目的SBT项目中覆盖子项目中的设置

  19. 19

    有没有办法从命令行打开启动Eclipse,例如vscode?

  20. 20

    有没有办法从终端打开“会话和启动” GUI?

  21. 21

    如何使SBT子项目具有多个Scala版本?

  22. 22

    具有左右对齐文本的离子项目

  23. 23

    是否有子项目/组件的Spring版本矩阵?

  24. 24

    在现有离子项目中添加离子cli

  25. 25

    IntelliJ IDEA具有多个gradle子项目

  26. 26

    是否有子项目/组件的Spring版本矩阵?

  27. 27

    带有数据库的离子项目

  28. 28

    电子,从 BrowserWindow 打印到PDF

  29. 29

    为什么图像没有出现在mfc CListView / CListCtrl的子项目中?

热门标签

归档