pus*_*kin 12 node.js visual-studio-code vscode-settings
是什么区别args,并runtimeArgs在launch.json?
// Optional arguments passed to the runtime executable
"runtimeArgs": []
// Command line arguments passed to the program
"args": []
Run Code Online (Sandbox Code Playgroud)
该程序与运行时可执行文件不同吗?
问题背后的额外信息和动机:
我正在开发一个nodejs应用程序.在我package.json,我有一个start脚本:
"start": "electron ./src/Main/main.js arg2",在我的应用程序代码中,我访问process.argv[2]哪些获取我arg2,所以当我运行时npm start,我的应用程序按预期工作.
当我从VSCode运行应用程序时,它没有,原因是我没有提供任何其他参数launch.json.我应该把这些论点放在哪里?process.argv似乎包含以所提供的参数args或者runtimeArgs虽然它也有些坚持--debug-brk,我不想争论.
我希望能够process.argv在从命令行(npm start)运行应用程序时始终如一地使用,或者从VSCode启动它.
如果删除属性“程序”,参数将依次附加,并且您看不到任何差异。
考虑以下示例,包括“类型”和“程序”:
{
"name": "vscode-jest-tests",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/node_modules/jest-cli/bin/jest.js",
"stopOnEntry": false,
"args": [
"--runInBand"
],
"cwd": "${workspaceFolder}",
"preLaunchTask": null,
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true
}
Run Code Online (Sandbox Code Playgroud)
=> 设置“NODE_ENV=development” && “C:\Program Files\nodejs\node.exe” --nolazy --inspect-brk=35238 node_modules\jest-cli\bin\jest.js --runInBand
runtimeArg “ -- nolazy”出现在node.exe后面(对应于type)并且
arg “ --runInBand”出现在 jest.js后面(对应于program)
如果删除属性“程序”,参数将依次附加,并且您看不到任何差异。