Uruchamianie testu npm w отладочном terminalu w VSCode

0

Pytanie

Próbuję utworzyć konfigurację w pliku launch.json, która będzie działać npm test w folderze, w którym .js plik się znajduje. Odbywa się npm test ręcznie w terminalu działa normalnie, biorąc odpowiednie polecenie od scripts część mojej package.json:

"scripts": {
    "start": "node --experimental-json-modules nodeserver.js",
    "test": "export MY_VAR=abc && node --experimental-json-modules nodeserver.js"
},

W szczególności, podczas uruchamiania npm test bezpośrednio w terminalu, env var, określony w test linia wejdzie w życie, a --experimental-json-modules flaga jest przekazywana node.

To mój startup.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"
        }
    ]
}

To w dużej mierze odpowiada jednej z predefiniowanych opcji, proponowanych w edytorze, i wygląda na to.

Ale gdy uruchamiam tę konfigurację na nodeserver.js plik, otrzymuję:

enter image description here

Wydaje się, że działa node bez flag, który wskazałem w konfiguracji? Co ja źle rozumiem w tym, jak to launch.json schemat działa?

EDYTOWAĆ im więcej grałem, tym bardziej wydaje mi się, że konfiguracja jest po prostu całkowicie ignorowane, tak, że ona używa ustawień domyślnych node.js konfiguracja... wybieram konfigurację z listy rozwijanej i kliknij ikonę odtwarzania:

enter image description here

Czy powinno to zadziałać?

Oprócz biegania npm start w terminalu jedyny automatyczny sposób, by to działać-otwórz package.json i klikając na mały przycisk debugowania, który pojawia się obok scripts etykieta:

enter image description here

Ale chciałbym dowiedzieć się, jak korzystać z launch.json poprawnie, abym mógł przekazywać zmienne środowiskowe itp. Przez To zamiast tego.

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

Możesz spróbować utworzyć testowy skrypt npm bezpośrednio w pliku launch.json, jak wyżej:

{
// 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

Dokładnie to samo dzieje się i z tym launch.json też... wygląda na to, że konfiguracja jest po prostu całkowicie ignorowane, tak, że ona używa ustawień domyślnych node.js konfiguracja uruchamiania.
drmrbrewer
0

startup.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"
            ],
        }
    ]
}

Dla odniesienia: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Dokładnie to samo dzieje się i z tym launch.json też... wydaje się, że konfiguracja (w tym --experimental-json-modules arg) po prostu całkowicie ignorowane, tak, że on używa wartości domyślnej node.js konfiguracja uruchamiania, bez żadnych argumentów. Może ja po prostu źle uruchamiam to... jak ty to robisz? To, jak to zrobić, opisano w oryginalnym poście.
drmrbrewer

@drmrbrewer wybieram profil, a następnie naciśnij F5. Właśnie sprawdziłem ten przełącznik, i zadziałał. i.imgur.com/CiRXX6X.png
John

Tak. F5-jest to odpowiednik tego, co robiłem... naciśnięcie przycisku "play" obok nazwy profilu... nadal mam ten sam błąd, i te argumenty czasu wykonania po prostu całkowicie ignorowane... nie mam pojęcia, co się dzieje.
drmrbrewer

W innych językach

Ta strona jest w innych językach

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