【问题标题】:Electron app not spawning child process when moved to different folder移动到不同文件夹时,电子应用程序不会产生子进程
【发布时间】:2022-01-03 00:17:26
【问题描述】:

在我的应用程序中单击按钮时,会使用fork() 函数生成一个子进程。这可以按预期工作,即使捆绑到我的dist 文件夹中的 exe 中(通过 electron-builder)。但是,当我将文件夹 win-unpacked 移动到另一个文件夹进行测试时,不会产生子进程。

dist文件夹结构如图:

dist
|-.icon-ico
|- win-unpacked
|- builder-debug.yaml
|- builder-effective-config.yaml

win-unpacked 是所有主要文件所在的位置(例如 app.asar、app.exe 等)。

当它在我的主要开发文件夹中时:

app
|-build
|-node_modules
|-dist
|-public
|-src

子进程已生成,但是,在仅包含dist 的测试文件夹中,子进程未生成。

生成我使用过的子进程:

child = fork(require("path").join(__dirname, "sts/states.js"));

在控制台中,__dirname 记录为C:\Users\me\Documents\mainApp\dist\win-unpacked\resources\app.asar\build

sts 文件夹位于build 文件夹中。

当我从app 文件夹中取出dist 并将其放入另一个文件夹进行测试时,我实际上不知道这是什么原因。

【问题讨论】:

    标签: javascript node.js electron


    【解决方案1】:

    this answer 的帮助下,我找到了一些方向。我补充说:

    "build": {
        "extraResources": "node_modules",
        "files": [
          "!node_modules"
        ]
    }
    

    到我的package.json,现在它正在生成子进程。缺点是文件现在更大(1.45GB)。

    【讨论】:

      猜你喜欢
      • 2019-06-12
      • 2017-05-22
      • 2015-07-22
      • 2017-09-26
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      相关资源
      最近更新 更多