如何使 Highcharts 在 Electron 应用程序中工作?

1 javascript browser highcharts electron-builder uncaught-reference-error

HTML 文档:<script src="code/highcharts.js"></script>

在渲染器 js 文件中:Highcharts.chart('graph', {...});

看起来main.js像这样:

win = new electron.BrowserWindow({
  width: config.width,
  height: config.height,
  backgroundColor: "#000000",
  resizable: true,
  show: false,
  useContentSize: true,
  webPreferences: {
    backgroundThrottling: false,
    contextIsolation: false,
    nodeIntegration: true,
    spellcheck: false,
    zoomFactor: desired_zoomfactor,
  }
});
Run Code Online (Sandbox Code Playgroud)

我显然可以关闭nodeIntegration,但这会破坏程序并且不是解决方案。

Electron内部的错误总是一样的:

未捕获的引用错误:Highcharts 未定义

为什么它在浏览器中有效,但在 Electron 中无效?我的应用程序不需要安全性。那么为什么让它发挥作用如此困难呢?

我尝试过使用预加载器(这在这里有意义吗?),使用 cdn 源并在 js 中加载源。

小智 5

使用默认窗口设置,nodeIntegration对加载 Highcharts 库没有影响。我测试了它,无论打开还是关闭都工作正常。这里的问题是设置contextIsolationfalse. 看来您失去了 Highcharts 对象的上下文,这就是它抛出此错误的原因。