Eu estou tentando criar uma configuração no meu lançamento.json que será executado npm test
na pasta em que o .js
arquivo reside. Execução npm test
manualmente em um terminal funciona bem, tendo o comando relevante a partir do scripts
parte da minha package.json
:
"scripts": {
"start": "node --experimental-json-modules nodeserver.js",
"test": "export MY_VAR=abc && node --experimental-json-modules nodeserver.js"
},
Em particular, quando em execução npm test
diretamente em um terminal, o var env especificado no test
linha do script entra em vigor e a --experimental-json-modules
bandeira é passado para node
.
Este é o meu lançamento.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"
}
]
}
Isso é muito bonito como é, a partir de uma das opções predefinidas sugerido no editor, e é muito semelhante a este.
Mas quando eu executar essa configuração no nodeserver.js
arquivo, eu recebo:
Ele parece estar em execução node
sem o sinalizador eu especificado na configuração? O que estou mal-entendido sobre como este launch.json
funciona o esquema?
EDITE o mais que eu tenha jogado, mais parece como se a configuração está apenas sendo completamente ignorado, portanto, que ele está usando o padrão node.js configuração... eu estou selecionar a configuração a partir do menu drop-down, e pressionando o ícone de reprodução:
Que trabalho?
Para além da execução npm start
em um terminal, a única "automático" maneira de conseguir que este trabalho é abrir a package.json
e ao clicar no pequeno botão de Depuração que aparece pela scripts
tag:
Mas eu gostaria de descobrir como usar launch.json
de forma adequada, para que eu possa passar ambientes variáveis, etc. através de que em vez disso.
launch.json
demais... parece como se a configuração está apenas sendo completamente ignorado, portanto, que ele está usando o padrão node.js configuração de inicialização.