如何在节点js中用fork传递数组?

how to pass an array with fork in node js?

我有一个数组,我想将它发送给子进程。 但问题是我在子进程中将它作为字符串获取。 我该如何解决? 谢谢。

父文件

const {fork} = require('child_process');

var botsList = [];
fork('./app.js', [botsList]);

子文件:

var botsList = process.argv[2];
console.log(typeof botsList); 

app.js 将收到一个字符串,但根据 botsList 的复杂程度,您可以使用 JSON.stringifyJSON.parse

index.js 会做类似的事情:

const {fork} = require('child_process');                                                                                                                                                                

var botsList = ["botA", "botB", "botC"];

fork('./app.js', [JSON.stringify(botsList)]);

并且 app.js 将解析参数:

let botsList = process.argv[2];                                                                                                                                                                         

try {                                                                                                       
     botsList = JSON.parse(botsList);                                                            
} catch (e) {                                                                                               
     console.log('Could not parse string as JSON');                                              
}                                                                                                                                                                                                       

console.log(botsList);                                                                              
console.log(typeof botsList);   

并且输出: