Estoy tratando de crear una configuración en mi lanzamiento.json que se ejecute npm test
en la carpeta en la que el .js
reside el archivo. Ejecución npm test
manualmente en un terminal funciona bien, tomando el comando correspondiente en el scripts
parte de mi package.json
:
"scripts": {
"start": "node --experimental-json-modules nodeserver.js",
"test": "export MY_VAR=abc && node --experimental-json-modules nodeserver.js"
},
En particular, cuando se ejecuta npm test
directamente en un terminal, el env var especificado en el test
secuencia de comandos de la línea de toma de efecto y el --experimental-json-modules
la bandera se pasa a node
.
Este es mi lanzamiento.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"
}
]
}
Esto es casi como-es una de las opciones predefinidas sugerido en el editor, y es muy similar a este.
Pero cuando ejecuto esta configuración en la nodeserver.js
el archivo, me sale:
Parece ser que ejecuta node
sin la bandera por la que se especifica en la configuración? ¿Qué estoy malentendido acerca de cómo este launch.json
esquema funciona?
EDITAR la más he jugado de todo, más parece como si la configuración es simplemente ser ignorado por completo, por lo que se está utilizando el valor predeterminado node.js configuración... soy la selección de la configuración de la lista desplegable y pulsar el icono de play:
En caso de que el trabajo?
Aparte de correr npm start
en una terminal, la única manera "automática" de conseguir que el trabajo es mediante la apertura de la package.json
y haciendo clic en el pequeño botón de Depuración que aparece por la scripts
etiqueta:
Pero me gustaría averiguar cómo utilizar launch.json
adecuadamente, de modo que me puede pasar las variables de entorno, etc a través de ese lugar.
launch.json
demasiado... parece como si la configuración es simplemente ser ignorado por completo, por lo que se está utilizando el valor predeterminado node.js configuración de lanzamiento.