将参数传递给node.js package.json bin命令还是调试bin命令?

时间:2019-05-11 02:03:57

标签: node.js package.json

我想在调试模式下启动bin命令。 但是我似乎无法写--inspect-brk = 3000作为参数,因为它只想接受文件名,并且npm链接检查文件是否存在。

  "bin": {
    "mycommand": "index.js --inspect-brk=3000",
  }

ENOENT:没有这样的文件或目录

有什么想法吗? 我可能只是制作一个debug.js来启动index.js,并传递arg并传递stdin / stdout。

1 个答案:

答案 0 :(得分:1)

debug.js

#!/usr/bin/env node
// A wrapper to allow starting the index.js in debug mode port is 3000
const { spawn } = require('child_process')
var child = spawn('node', ['--inspect-brk=3000', 'index.js'], { stdio: 'inherit' })

launch.json

        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "",
            "runtimeExecutable": "${workspaceFolder}/../Tools/someprogramthatrunsmine",
            "runtimeArgs": [
                "mycommand-debug",
                "someinputs"
            ],
            "cwd": "${workspaceFolder}",
            //"console": "integratedTerminal",
            "port": 3000
        }
    ]

package.json bin命令

  "bin": {
    "mycommand-debug": "debug.js"
  },

运行npm link链接该命令以进行本地测试。

当我的index.js代码由其他运行时可执行文件运行时,单击Vscode中的“调试”按钮现在可以将其断点。