是否可以在开发过程中在 Electron 应用程序中使用 Elm 的调试器?

问题描述

我正在使用 Elm 0.19.1 构建桌面应用程序的界面,而桌面应用程序又基于 Electron。

但是,在 Elm 的调试模式下,我无法打开调试器。这是应用程序窗口控制台中显示内容Uncaught TypeError: Cannot set property 'title' of undefined

它是由这段 Elm 生成的 JavaScript 代码触发的:

var doc = debuggerWindow.document;
doc.title = 'Elm Debugger';

显然,调试器窗口对象内部没有文档属性,这可能是因为 Electron 应用程序中的每个窗口都运行在自己的进程中。有什么方法可以解决这个问题并使 Elm 的调试器在我的应用程序开发过程中启动并运行吗?

解决方法

可以通过在 webPreferences.nativeWindowOpentrue 中将 options 设置为 BrowserWindow 来解决此问题。这些选项记录在 here 官方 Electron 文档中。这应该通过让我们像在浏览器中一样使用 Window.document 来解决问题。这个答案完全基于bruchmann's solution in Elm's discourse