Běží npm test v ladění terminálu v VSCode

0

Otázka

Snažím se vytvořit konfiguraci podle mého startu.json, který bude probíhat npm test ve složce, ve které .js soubor je umístěn. Běží npm test ručně v terminálu funguje dobře, přičemž příslušný příkaz z scripts součástí mé package.json:

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

Zejména, když běží npm test přímo v terminálu, env var uvedeno v test řádku skriptu trvá účinek a --experimental-json-modules vlajka je předán node.

To je můj start.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 je docela hodně, jak je od jednoho z předdefinovaných možností navrhl v editoru, a je velmi podobná této.

Ale když jsem se spustit tuto konfiguraci nodeserver.js soubor, dostanu:

enter image description here

To se zdá být spuštěn node bez vlajky jsem v konfiguračním? Co mám nedorozumění o tom, jak to launch.json systém funguje?

EDIT čím víc jsem hrál, tím více se zdá, jako v případě, že konfigurace je jen, že je zcela ignorována, tak, že je pomocí výchozí node.js konfigurace... jsem výběr config z drop-dolů a stisknutím tlačítka na ikonu přehrávání:

enter image description here

By měl fungovat, že?

Na rozdíl od běh npm start v terminálu, pouze "automatické" způsob, jak dostat tuto práci je otevřením package.json a kliknutím na malé tlačítko Ladění, které se zobrazí na scripts tag:

enter image description here

Ale chtěl bych přijít na to, jak používat launch.json správně tak, že mohu předat proměnné prostředí atd., přes to místo.

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

Můžete se pokusit vytvořit npm test skriptu přímo ve vašem spuštění.json jako výše:

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

Přesně totéž se děje s tímto launch.json taky... zdá se, jako by konfigurace je jen zcela ignorovat, tak, že je pomocí výchozí node.js zahájit konfiguraci.
drmrbrewer
0

spuštění.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"
            ],
        }
    ]
}

Pro odkaz: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Přesně totéž se děje s tímto launch.json taky... zdá se, jako kdyby konfiguraci (včetně --experimental-json-modules arg) je jen zcela ignorovat, tak, že je pomocí výchozí node.js spuštění konfigurace, bez args. Možná jsem jen spuštění nesprávně... jak to děláš? Způsob, jakým to dělám, je v původním příspěvku.
drmrbrewer

@drmrbrewer I vyberte profil a potom stiskněte klávesu F5. Jen jsem dal ten přepínač test a vyšlo to. i.imgur.com/CiRXX6X.png
John

Jo. F5 je ekvivalent toho, co jsem dělal... stisknutím tlačítka "play" tlačítko vedle názvu profilu... ještě jsem tu samou chybu a runtime args uvedené jsou jen zcela ignorovat... ani tušení, co se děje.
drmrbrewer

V jiných jazycích

Tato stránka je v jiných jazycích

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