node.js - 使用 ts-node 时通过 fork() 调用子进程

标签 node.js typescript child-process ts-node

我有一个 typescript 项目,而不是首先使用 tsc,我只是直接通过 ts-node 运行。

在我的代码中,我需要使用 fork() 创建一个子进程。

如果我运行像 child_process.fork('ChildProcess.ts') 这样的代码并且 ChildProcess.ts 包含一些只包含 typescript 的结构(例如:import {} , export, ...),那么解释器是 node,而不是 ts-node,将会失败。

可能建议使用类似 child_process.exec('node ./node_modules/.bin/ts-node ChildProcess.ts) 的东西,但我真的想要/需要 IPC 通信 channel 当专门使用 fork() 时,在父进程和子进程之间建立。

关于如何实现这一点有什么想法吗?

谢谢!

最佳答案

作为the reference指出,forked 进程中的 execArgv 是从当前进程继承的:

execArgv List of string arguments passed to the executable. Default: process.execArgv.

当入口点运行为:

ts-node index.ts

execArgv 默认为 ts-node 二进制:

[ '...\\ts-node\\dist\\_bin.js' ]

child_process.fork('ChildProcess.ts') 

也与 ts-node 一起运行。

关于node.js - 使用 ts-node 时通过 fork() 调用子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52569406/

相关文章:

node.js - Node child_process 与 Heroku 工作线程

javascript - Node.JS 中的单线程事件循环与多线程非阻塞 Worker

c - Fork 和 execlp 不执行我的程序?

c - 执行该程序时创建了多少个子进程?

javascript - 即使短语确实存在于数组中,正则表达式搜索也会返回 -1

arrays - 固定长度的元组

angular 2 从父组件类访问子组件对象

node.js - 为 Nodejs 应用程序编写插件的教程?

javascript - Node js 的前端框架是什么

javascript - Lodash 与 Mongoose 合并