gpt4 book ai didi

node-webkit - 在 node-webkit (nw) 中运行后台任务

转载 作者:行者123 更新时间:2023-12-04 17:33:42 25 4
gpt4 key购买 nike

我正在尝试使用 NW.js 运行后台任务(文件系统扫描仪) .

Electron ,可以使用 child_process.fork 来完成(__dirname + '/path_to_js_file')并调用 child.on('message', function(param) { ... }) child.send(...) 在主脚本和 process.on('message', function(param) { ... }) 中和 process.send(...)在子脚本中。

在 NW.js 中,我尝试使用 Web Workers但没有任何 react (我的 webworker 脚本从未执行过)。

我还看到有一个使用 child_process.fork("path_to_js_file.js", {silent: true, execPath:'/path/to/node'}) 的解决方法但这意味着将 Node.js 捆绑到我 future 的应用程序中......

另一个想法?

最佳答案

这是我最后所做的。

package.json声明 node-main像这样的属性:

{
"main": "index.html",
"node-main": "main.js"
}

然后在您的 main.js使用 require('child_process').fork :

'use strict';

var fork = require('child_process').fork,
childProcess = fork('childProcess.js');

exports.childProcess = childProcess;

childProcess.js使用 process.on('message', ...) 进行通信和 process.send(...) :

process.on('message', function (param) {
childProcessing(param, function (err, result) {
if (err) {
console.error(err.stack);
} else {
process.send(result);
}
});
});

最后在 index.html , 使用 child_process.on('message', ...)child_process.send(...) :

    <script>
var childProcess = process.mainModule.exports.childProcess;
childProcess.on('message', function (result) {
console.log(result);
});
childProcess.send('my child param');
</script>

关于node-webkit - 在 node-webkit (nw) 中运行后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32426208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com