【问题标题】:Pass arguments to “node” executable when running “yarn run”运行“yarn run”时将参数传递给“node”可执行文件
【发布时间】:2018-04-07 19:10:57
【问题描述】:

节点可以使用各种选项启动。特别有趣的是--inspect 标志:

node --inspect node_modules/.bin/jest some.spec.js

是否可以将--inspect 标志以某种方式传递给yarn run?例如:

yarn run test --inspect some.spec.js 

npm run 有一个similar question,这似乎是不可能的。

【问题讨论】:

    标签: node.js npm yarnpkg


    【解决方案1】:

    我不知道yarn run ... 支持将参数传递给 NodeJS,但是,还有其他几个选项。

    您可以使用 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
    

    据我所知,这可能是您仅有的两个选择。但是,这两个选项都适用于 NPM 和 Yarn。

    【讨论】:

    • 另一种方法(描述为here)是使用"test:inspect": "node --inspect node_modules/.bin/jest --runInBand",然后允许运行yarn test:debug 在测试中启动调试会话。
    • 我在windows上试过set NODE_OPTIONS="--max-old-space-size=81392"后跟gulp,但似乎没有生效。
    【解决方案2】:

    或者,您可以使用npx 并使用-n--node-arg 标志npx -n=--inspect-brk jest 传递节点参数

    npx 在处理别名命令的 cli 或包时感觉更直观。

    【讨论】:

    猜你喜欢
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    相关资源
    最近更新 更多