问题标签 [electron]

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 投票
3 回答
8313 浏览

ecmascript-6 - Electron & ES6 如何在使用 gulp 和 ES6 模块时实现 require remote/ipc

我正在使用 ES6 js 文件,然后由 gulp (browserify/babel) 编译,ES6 文件的示例是:

我有一个普通的 App.js 用于设置主窗口等。然后 html 页面将使用一个 main.min.js 文件,该文件基本上由我所有的 ES6 类编译到一个文件中组成:

loader.es6 文件

Main.es6 文件

编译并运行时,一切正常,一切都很好......但我想如果我想实现“IPC”,“远程”模块,我在编译时遇到问题,因为他们无法找到这些模块,无论是通过require()import..我的课程中的方法。

因此执行以下操作失败:

或者

这是否有可能做到或实现,或者不需要更多的思考,请回到正常的 js。

任何想法/建议都会非常感谢

编辑:添加错误详细信息

有问题的示例文件Main.es6

var Remote = require('remote')请参阅顶部添加的 var ,这会导致以下错误。

甚至使用import Remote from 'remote'

0 投票
2 回答
115 浏览

javascript - 在 Node 的对象中使用“this”?

我正在使用 Electron 创建一个小桌面应用程序并使用module.exports. 在“服务器”端,这工作正常。但是,当我在前端使用 module.exports 时,根据 Electron 文档,我收到此错误。

Uncaught TypeError: this.showProgressbar is not a function"

在客户端,这就是我访问此文件的方式。

在这种情况下,我应该如何访问内部方法?

0 投票
1 回答
9986 浏览

electron - 如何从 webview 本身更改屏幕大小?

我有一个函数,一旦用户悬停窗口就会被调用。是否可以更改窗口的宽度?这是我的功能:

0 投票
1 回答
4698 浏览

javascript - 单独窗口中的电子开发人员工具未在 Windows 上显示

我正在使用 Electron(以前称为 atom-shell)开发一个快速的概念验证应用程序,在尝试调试它时,我将开发工具弹出到一个单独的窗口,它工作了一段时间,直到今天。我可以在 Windows 任务栏中看到开发人员工具窗口,但是当我单击它时,什么都没有显示。

我试过重新启动计算机,重新安装 atom,通过菜单和 Alt+Ctrl+I 切换开发人员工具,但窗口无处可见。

这是我的应用程序的相关代码,但我已经对其进行了调整,它也无济于事。

0 投票
12 回答
73713 浏览

windows - 如何将 Electron 应用程序部署为可执行文件或可安装在 Windows 中?

我想生成一个唯一的.exe文件来执行应用程序或.msi安装应用程序。怎么做?

0 投票
2 回答
4917 浏览

node.js - 如何区分 Electron(原子壳)中的主进程和渲染器进程?

如何区分 Electron(原子壳)中的主进程和渲染器进程?

0 投票
1 回答
147 浏览

google-chrome-extension - 是否有从 chrome 扩展获取桌面活动应用程序名称的解决方案?

我需要 Chrome 扩展程序中当前打开的桌面应用程序(+ 在其中打开的文件)的列表,或者至少需要活动的应用程序名称(当前焦点在桌面上)。

用例:想象一个 chrome 扩展,它将获取带有 URLS 的选项卡列表(我用 Chrome.tabs 解决了它),此外,当 Chrome 失去焦点(空闲)时,它会给出当前活动应用程序的名称:example => powerpoint .app/文件名.ppt。

我正在寻找任何选项,理想情况下无需实现与扩展交换消息的桌面应用程序。但是,如果这是唯一的方法,任何使用 Electron ( http://electron.atom.io/ ) 或 Node-WebKit 的示例/经验?

0 投票
1 回答
6731 浏览

typescript - 使用 Typescript 导入电子类

如何将 Electron 类导入 Typescript 文件,以便智能感知正常运行?

例如,我想把这个:

变成这样的东西(不起作用):

0 投票
1 回答
2988 浏览

javascript - Atom Electron - 检测开发工具已准备就绪

此问题与基于 Chromium/Node.js(Atom ElectronNode Webkit等)的应用程序有关,与基于 Chrome 浏览器的应用程序无关。

在调试使用 Chromium 和 Node.js 的程序的启动代码时,在调用 Dev Tools 和它实际完全启动之间存在显着延迟,包括执行断点的能力。这意味着为了调试应用程序的启动逻辑,在调用开发工具后立即发生,插入或存储的断点不会为此启动代码触发。

我发现的唯一解决方法是添加一个临时超时setTimeout(continueBootLogic(), <time>),用于将启动逻辑的启动推迟到我假设开发工具已完全加载之后。

MainWindow.on('devtools-opened', function() {...})当开发工具打开但断点引擎启动之前,Electron fires 中存在一个现有事件。使用这个事件让我更接近实际的准备时刻,但我仍然需要一个糟糕的超时来等待更多。

有没有人找到一种方法来精确而优雅地检测开发工具何时准备好开始检测和执行代码中的断点?

拥有这将极大地帮助调试 Electron 和 nw.js 中的启动代码,这样我就可以花更多的时间来玩新的 API。

这是一个示例电子程序:

包.json:

主.js:

索引.html:

将所有文件放在同一个文件夹中并运行,安装电子并electron .在与 package.json 相同的文件夹中运行。

为了调整测试,renderer.html 中的 iWaitTimeout。

我在逻辑方面的工作将超时设置为 100 毫秒。这可以在我的系统上压缩,但它可能取决于计算机和负载。相当混乱的解决方案 IMO。

像 devtools-breakpoint-ready 或类似的东西触发事件会很棒。上面的逻辑可能会稍微优化一下。我昨晚刚开始使用 Electron。Node Webkit 也有同样的问题。

0 投票
1 回答
8645 浏览

javascript - 在 electron 中打开本地文件并在 wavesurfer.js 中渲染

我正在开发一个使用电子构建的应用程序,它应该与 wavesurfer.js 一起显示代表音频文件的波形。但是,我无法使用fs模块打开文件并通过 Blob 将文件内容推送到 wavesurfer。文件加载,一切似乎都正常,但在解码 wavesurfer 时说Error decoding audiobuffer

我认为可能会影响这一点的两件事:

  • fs.readFile函数将编码作为第二个参数
  • typeBlob 构造函数将选项对象作为第二个参数,在此您可以通过属性定义 mimetype

然而,到目前为止,这两种方法都未能解决问题。

我希望有人有解决方案。(也可能是该fs.readFile功能完全是错误的方法,并且有更好的方法;我只是在寻找一种相对高效的打开文件的方法,感谢您的帮助)干杯!

这是代码……</p>

(我省略了所有的电子样板,你可以通过这样做轻松获得它git clone https://github.com/sindresorhus/electron-boilerplate/) - 在 中包含一个脚本标签,main.js在html 中的某处index.html添加一个带有 id 的 divwave-area并将一个脚本标签添加到wavesurfer.js 库. 此外,您还需要演示 wav-file的本地副本。

然后在main.js文件中……</p>