Rularea npm test într-un debug terminal în VSCode

0

Problema

Eu sunt încercarea de a crea o configurație în lansarea mea.json care va rula npm test în dosarul în care .js află fișierul. De funcționare npm test manual într-un terminal funcționează bine, luând comanda corespunzătoare din scripts parte a mea package.json:

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

În special, atunci când rulează npm test direct într-un terminal, env var specificate în test linia de script-ul are si un efect --experimental-json-modules steagul este trecut la node.

Acest lucru este mea de lansare.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"
        }
    ]
}

Acest lucru este destul de mult ca-este una din opțiunile predefinite sugerat în editor, și este foarte similar cu acest lucru.

Dar atunci când am rula acest configurare pe nodeserver.js dosarul, am obține:

enter image description here

Acesta pare să fie difuzate node fără steag am specificat în configurația? Ce sunt eu neînțelegere despre modul în care acest launch.json schema funcționează?

EDITAȚI mai mult am jucat în jurul, mai mult se pare ca în cazul în care configurația este doar de a fi ignorat complet, astfel încât acesta utilizează implicit node.js configurare... sunt selectarea config din meniul drop-down și apăsând pe pictograma de redare:

enter image description here

Ar trebui să funcționeze asta?

În afară de funcționare npm start într-un terminal, singurul "automat" mod de a obține acest lucru la locul de muncă este prin deschiderea package.json și făcând clic pe micul Depanare buton care apare de scripts tag:

enter image description here

Dar aș vrea să dau seama cum să folosească launch.json în mod corespunzător, astfel încât să pot trece medii variabile etc. prin care în loc.

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

Puteți încerca pentru a crea npm script de test direct în lansare.json ca mai sus:

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

Exact același lucru se întâmplă cu acest launch.json prea... se pare ca în cazul în care configurația este doar de a fi ignorat complet, astfel încât acesta utilizează implicit node.js lansarea de configurare.
drmrbrewer
0

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

Pentru referință: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Exact același lucru se întâmplă cu acest launch.json prea... se pare ca în cazul în care configurația (inclusiv --experimental-json-modules arg) este doar de a fi ignorat complet, astfel încât este folosind default node.js lansarea de configurare, fără nici args. Poate sunt doar lansarea acestui incorect... cum o faci? Cum fac este în original post.
drmrbrewer

@drmrbrewer am selectați profilul și apoi apăsați F5. Tocmai am dat trece un test si a mers. i.imgur.com/CiRXX6X.png
John

Da. F5 este echivalentul a ceea ce am facut... apăsând butonul "play" de lângă numele de profil... tot primesc aceeasi eroare și execuție args specificate sunt doar fiind complet ignorat... nici o idee ce se întâmplă.
drmrbrewer

În alte limbi

Această pagină este în alte limbi

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