我正在尝试创建一个配置文件,使得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"
}
]
}
这基本上是从编辑器建议的预定义选项之一中保持不变的内容,与这个非常相似。
但是,当我在
nodeserver.js
文件上运行此配置时,我得到了以下结果:
![enter image description here](https://istack.dev59.com/xpNt8.webp)
node
?我对这个launch.json
方案的工作原理有什么误解吗?编辑:我玩了一下,似乎配置完全被忽略了,所以它正在使用默认的node.js配置...我从下拉列表中选择配置,然后按播放图标:
![enter image description here](https://istack.dev59.com/dMEXy.webp)
除了在终端中运行
npm start
之外,唯一“自动”使其工作的方法是打开package.json
并单击出现在scripts
标记旁边的小调试按钮:
![enter image description here](https://istack.dev59.com/CbWP5.webp)
launch.json
,以便可以通过它传递环境变量等。
launch.json
文件上... 看起来配置(包括--experimental-json-modules
参数)被完全忽略了,因此它使用默认的 node.js 启动配置,没有任何参数。也许我只是启动方式不正确... 你是怎么做的?我是按照原始帖子中的方法进行的。 - drmrbrewer