Executando o ngp teste em um terminal de depuração em VSCode

0

Pergunta

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:

enter image description here

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:

enter image description here

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:

enter image description here

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.

debugging node.js npm visual-studio-code
2021-11-23 19:08:15
2
0

Você pode tentar criar o ngp teste o script diretamente no seu lançamento.json como:

{
// 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": [
    {
        "name": "Run npm test",
        "request": "launch",
        "type": "node",
        "args": ["--experimental-json-modules", "${workspaceFolder}/nodeserver"],
        "env": {
           "MY_VAR": "abc"
        }

    }
]
}
2021-11-29 11:39:31

Exatamente o mesmo acontece com este 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.
drmrbrewer
0

lançamento.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}\\index.js"
        },
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Run Test",
            "skipFiles": 
            [
                "<node_internals>/**"
            ],

            // You can specify enviorment variables per config here
            // using key value pairs
            "env": 
            {
                "test_variable": "test value"
            },

            // You can also specify a .env file that contains them
            "envFile": "${workspaceFolder}/.env",

            // Here you specify the file you want launched
            "program": "${workspaceFolder}\\test.js",

            // add args to nodejs here
            "runtimeArgs": 
            [
                "--experimental-json-modules"
            ],
        }
    ]
}

Para referência: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Exatamente o mesmo acontece com este launch.json demais... parece como se a configuração (incluindo o --experimental-json-modules arg) está sendo completamente ignorado, portanto, que ele está usando o padrão node.js configuração de inicialização, sem qualquer args. Talvez eu só estou lançando esta incorreta... como você fez isso? A maneira que eu estou fazendo é no post original.
drmrbrewer

@drmrbrewer I seleccione o perfil e, em seguida, prima F5. Eu só dei que mudar um teste e funcionou. i.imgur.com/CiRXX6X.png
John

Yep. F5 é o equivalente ao que eu estava fazendo... premir o botão "play" ao lado do nome do perfil... ainda recebo o mesmo erro e o tempo de execução args especificado estão apenas sendo completamente ignorado... nenhuma idéia o que está acontecendo.
drmrbrewer

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................