【发布时间】:2022-01-02 06:42:27
【问题描述】:
我正在尝试在我的 launch.json 中创建一个配置,它将在 .js 文件所在的文件夹中运行 npm test。在终端中手动运行npm test 工作正常,从我的package.json 的scripts 部分获取相关命令:
"scripts": {
"start": "node --experimental-json-modules nodeserver.js",
"test": "export MY_VAR=abc && node --experimental-json-modules nodeserver.js"
},
特别是,当直接在终端中运行npm test 时,test 脚本行中指定的环境变量生效,--experimental-json-modules 标志被传递给node。
这是我的 launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"command": "npm test",
"name": "Run npm test",
"request": "launch",
"type": "node-terminal"
}
]
}
这与编辑器中建议的预定义选项之一非常相似,与this 非常相似。
但是当我在 nodeserver.js 文件上运行此配置时,我得到:
它似乎在运行node 而没有我在配置中指定的标志?我对这个 launch.json 方案的工作原理有什么误解?
编辑我玩得越多,配置似乎就被完全忽略了,因此它使用默认的 node.js 配置...我正在从下拉菜单中选择配置-向下并按下播放图标:
这应该有效吗?
除了在终端中运行npm start,唯一的“自动”方法是打开package.json并点击scripts标签旁边的调试小按钮:
但我想弄清楚如何正确使用launch.json,以便我可以通过它传递环境变量等。
【问题讨论】:
标签: node.js debugging npm visual-studio-code