如何将参数传递给 ts-node 处理的脚本

vik*_*kin 13 ts-node

我刚开始使用 ts-node。这是一个非常方便的工具。运行时间看起来很清楚。但它不适用于 CLI 解决方案。我无法将参数传递到编译的脚本中。

ts-node --preserve-symlinks src/cli.ts -- printer:A
Run Code Online (Sandbox Code Playgroud)

这是行不通的。我在寻求帮助。

Ste*_*oyd 15

你没有提供你的脚本,所以我只能猜测你是如何提取参数的。这就是我让它与我自己的测试脚本一起工作的方式args.ts

const a = process.argv[2];
const b = process.argv[3];
const c = process.argv[4];
console.log(`a: '${a}', b: '${b}', c: '${c}'`);
Run Code Online (Sandbox Code Playgroud)

package.json这样调用:

"scripts": {
   "args": "ts-node ./args.ts -- 4 2 printer:A"
}
Run Code Online (Sandbox Code Playgroud)

这会给我这样的输出:

a: '4', b: '2', c: 'printer:A'
Run Code Online (Sandbox Code Playgroud)


x-m*_*gix 11

命令

ts-node ./test.ts hello stackoverflow
Run Code Online (Sandbox Code Playgroud)

.ts 文件

console.log("testing: >>", process.argv[2], process.argv[3]);
Run Code Online (Sandbox Code Playgroud)

输出

$ testing: >> hello stackoverflow
Run Code Online (Sandbox Code Playgroud)

快乐编码


Ron*_*Ron 6

尝试这个:

node --preserve-symlinks -r ts-node/register src/cli.ts printer:A
Run Code Online (Sandbox Code Playgroud)