node可以使用各种选项启动。特别有趣的是--inspect
标志:
node --inspect node_modules/.bin/jest some.spec.js
是否可以以某种方式将--inspect
标志传递给yarn run
?例如:
yarn run test --inspect some.spec.js
npm run
也有类似的问题,似乎是不可能的。
一般来说,yarn run ...
不支持将任意参数传递给 NodeJS。但是,--inspect
标志是一个例外,具体取决于您的 Yarn 版本。
截至 2022 年 3 月,最新版本的 Yarn 支持 yarn run 命令的--inspect
和--inspect-brk
参数。您的问题的答案现在是"是",以下内容将起作用:
yarn run --inspect some.spec.js
对于旧版本的 Yarn(甚至 NPM),有几个选项。
首先,您可以使用 NODE_OPTIONS 环境变量将参数传递给 NodeJS。例如
export NODE_OPTIONS="--inspect"
yarn run test some.spec.js
然后在 package.json 中,您可以定义一个脚本来利用这一点:
"scripts": {
"test": "jest",
"test:inspect": "NODE_OPTIONS='--inspect' yarn run test"
}
其次,正如你提到的,你可以直接使用 NodeJS,
node --inspect ./node_modules/jest-cli/bin/jest.js some.spec.js
对于旧版本的 Yarn,这可能是您仅有的两个选择。但是,这两个选项都适用于 NPM 和 Yarn。
您可以使用npx
和传递带有-n
或--node-arg
标志的节点参数npx -n=--inspect-brk jest
npx
在处理别名命令的 CLI 或包时感觉更直观。