【问题标题】:Run Electron main process from URL从 URL 运行 Electron 主进程
【发布时间】:2020-05-22 10:55:04
【问题描述】:

我正在使用webpack-dev-server 来构建和提供电子应用程序。我正在使用多目标支持,因此它可以构建并提供渲染器和主文件。这些可在http://localhost:8080/ 获得,在我的情况下,主入口点是http://localhost:8080/background.js,而渲染器index.htmlhttp://localhost:8080/,它加载http://localhost:8080/js/main.js

webpack-dev-server 只在内存中构建文件——它们永远不会写入磁盘。然而,Electron 似乎只从磁盘上的文件运行它的主进程。 IE。如果我运行electron path/to/background.js,它工作正常,但使用webpack-dev-server 时该文件不存在。如果我运行electron http://localhost:8080/,它只会加载渲染器index.html,从不运行background.js

基本上我想做

electron http://localhost:8080/background.js

并让它下载并作为主进程运行该文件。该命令不起作用(它只是将background.js 文件作为文本打开。有没有什么办法可以通过 curl 或其他方式手动执行此操作?

【问题讨论】:

  • cjs 默认不支持从远程 url 导入。您应该以某种方式配置以放置物理文件以启动主进程。此外,node.js 无法按需重新加载模块,因此 devserver 刷新不会影响,直到再次重新启动过程。

标签: electron


【解决方案1】:

我确定了一个解决方法 - 您可以让 webpack-dev-server 从内存中提供其输出将文件写入磁盘。我在主进程的 webpack 配置中添加了 this

  devServer: {
    writeToDisk: true
  }

请注意,由于a bug,您也需要将其添加到您的渲染器配置中,即使您不需要这些文件,否则不会写入任何内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2018-01-05
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多