node.js - 将对象作为参数发送到 fork 的 nodejs 进程

标签 node.js

拥有fork('./MyProcess.js',['foo']);在主进程和console.log(process.argv[2]);在 fork 进程中将 foo 记录到我的控制台。

然而,fork('./MyProcess.js',[{myProp : 'bar'}]);在主进程和console.log(process.argv[2]); console.log(process.argv[2].myProp);在 fork 进程中将记录 [object Object](如预期的那样),但第二个日志为 undefined

这是为什么,我应该怎么做才能获得所需的行为?

最佳答案

通过命令行参数将对象 (json) 传递给子进程不是一个好主意,命令参数需要先转义(不容易)。你有一些选择:

  1. 对 json 进行十六进制编码,然后传递给子进程,这可行,但您的子进程接口(interface)很糟糕。
  2. 将 json 保存到文件,传递文件路径。
  3. 通过 stdin 将 json 传递给子进程。
  4. 将 json 作为消息发送给子进程,参见 https://nodejs.org/api/child_process.html#child_process_child_send_message_sendhandle_options_callback

关于node.js - 将对象作为参数发送到 fork 的 nodejs 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37300556/

相关文章:

node.js - NPM - 尝试安装依赖项时出现 Node sass 错误

javascript - 从 YouTube 缩略图抓取调色板

node.js - NPM Cordova 安装 - 生成器业力不满足

javascript - Nodejs 使用 async/await 导出

node.js - 当来自 AWS ElastiCache Redis 的 'get' 时,nodejs 中的 ioredis 不执行任何操作

Node.js docker 容器未更新以适应卷的变化

javascript - 如何在 Node.js 中使用 res.send()

javascript - csvtojson 转换器忽略我的文件名,只是将 undefined

javascript - 每 6 小时 cron 模式不适用于 Nodejs cron

AngularJS:$http拦截器将每个调用方法更改为选项