当我尝试在交互模式下执行 child_process
spawn
node -i
它可以工作,没问题。node -i
> const { spawn } = require('node:child_process');
> spawn("ls", ["-lah"]);
创建了一个子进程,一切都很好。
当我尝试在打字稿中使用 child_process 时
...
import spawn from "node:child_process";
...
spawn("ls", ["-lah"]);
不起作用。
VSCode 突出显示最后一行
spawn(...)
以及错误消息
This expression is not callable.
Type 'typeof import("node:child_process")' has no call signatures.
当我构建代码时,我收到相同的消息
src/main.ts:20:3 - error TS2349: This expression is not callable.
Type 'typeof import("node:child_process")' has no call signatures.
无论我尝试调用哪个命令
spawn(...)
,我尝试了好几个,总是出现相同的错误。您仍然需要花括号,否则您将整个包导入为
spawn
,这是不可调用的
...
import { spawn } from "node:child_process";
...
spawn("ls", ["-lah"]);