作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Electron 应用程序中进行长时间运行的计算。我正在使用child_process.fork“ fork ”节点进程,以在单独的进程中执行脚本,而不是阻止渲染器进程。
如果我使用child_process.fork启动的脚本位于要从其启动的目录中,则该应用程序运行良好。我想做的是将脚本运送到二进制文件中(我使用electron-builder构建一个脚本)。
我发现,该构建器将所有内容(包括我感兴趣的脚本)打包到.asar
归档文件中-二进制文件可以在运行时对其进行访问吗?
child_process.spawn和使用JS以外的语言也是一种选择,但是问题仍然存在-我不知道如何将脚本嵌入到二进制文件中。
最佳答案
我通过this response from another question解决了这个问题。
我已经添加
node: {
__dirname: true,
},
webpack.config.js
并使用
process.resourcesPath
解析文件路径。
import path from 'path';
import { fork } from 'child_process';
const scriptPath = path.join(process.resourcesPath!, 'app.asar', fileName);
const args = [];
const process = fork(scriptPath, args);
python -c "print(44)"
并将脚本内容作为
-c
参数参数执行。
关于electron - 如何在 Electron 二进制文件中嵌入脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369868/
我是一名优秀的程序员,十分优秀!