Sto cercando di creare una configurazione nel mio lancio.json che verrà eseguito npm test
nella cartella in cui l' .js
risiede il file. In esecuzione npm test
manualmente in un terminale funziona bene, tenendo il relativo comando dal scripts
parte della mia package.json
:
"scripts": {
"start": "node --experimental-json-modules nodeserver.js",
"test": "export MY_VAR=abc && node --experimental-json-modules nodeserver.js"
},
In particolare, durante l'esecuzione npm test
direttamente in un terminale, l'env var specificato nel test
script della riga di porta e l'effetto --experimental-json-modules
la bandiera è passato a node
.
Questo è il mio lancio.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"
}
]
}
Questo è praticamente come-è una delle opzioni predefinite suggerito nell'editor, ed è molto simile a questo.
Ma quando ho eseguito questa configurazione nodeserver.js
file, ottengo:
Sembra essere in esecuzione node
senza la bandiera l'ho specificato nella configurazione? Che cosa sto malinteso circa come questo launch.json
schema funziona?
La MODIFICA più ho giocato intorno, più sembra come se la configurazione è solo di essere completamente ignorato, in modo che utilizza l'impostazione predefinita node.js di configurazione... ho scelto la config dal menu a discesa e premere l'icona di riproduzione:
Dovrebbe funzionare?
A parte l'esecuzione di npm start
in un terminale, l'unico "automatico" modo di ottenere questo lavoro è per l'apertura del package.json
e facendo clic sul pulsante di Debug che appare dalla scripts
tag:
Ma mi piacerebbe capire come utilizzare launch.json
correttamente, in modo che posso passare le variabili di ambiente ecc via che invece.
launch.json
troppo... sembra come se la configurazione è solo di essere completamente ignorato, in modo che utilizza l'impostazione predefinita node.js configurazione di lancio.