L'exécution de mnp test dans un déboguer le terminal dans VSCode

0

La question

Je suis en train de créer une configuration dans mon lancement.json qui va exécuter npm test dans le dossier dans lequel le .js fichier réside. L'exécution de npm test manuellement dans un terminal fonctionne très bien, la prise de la commande appropriée dans le scripts une partie de mon package.json:

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

En particulier, lors de l'exécution de npm test directement dans un terminal, l'env spécifié dans le var test la ligne de script prend effet et le --experimental-json-modules le drapeau est passé à node.

C'est mon lancement.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"
        }
    ]
}

C'est à peu près comme-est de l'une des options prédéfinies suggéré dans l'éditeur, et est très similaire à cela.

Mais lorsque j'exécute cette configuration sur la nodeserver.js fichier, j'obtiens:

enter image description here

Il semble être en cours d'exécution node sans le drapeau, j'ai spécifié dans la configuration? Que suis-je malentendu au sujet de la façon dont cette launch.json schéma fonctionne?

EDIT de plus j'ai joué un peu, plus il me semble que si la configuration est complètement ignoré, de sorte que c'est à l'aide de la valeur par défaut node.js la configuration... je suis la sélection de la config à partir de la liste déroulante et en appuyant sur l'icône de lecture:

enter image description here

Devrait ce que le travail?

Outre le fait de courir npm start dans un terminal, la seule "automatique" la voie de l'obtention de ce travail est d'ouvrir la package.json et en cliquant sur le petit bouton de Débogage qui apparaît par la scripts tag:

enter image description here

Mais j'aimerais comprendre comment l'utiliser launch.json correctement de sorte que je peux passer des environnements variables etc via la place.

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

Vous pouvez essayer de créer le mécanisme national de prévention de script de test directement dans votre lancement.json comme ci-dessus:

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

Exactement la même chose arrive avec cette launch.json trop... il me semble que si la configuration est complètement ignoré, de sorte que c'est à l'aide de la valeur par défaut node.js configuration de lancement.
drmrbrewer
0

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

Pour référence: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Exactement la même chose arrive avec cette launch.json trop... il me semble que si la configuration (y compris les --experimental-json-modules arg) vient d'être complètement ignoré, de sorte que c'est à l'aide de la valeur par défaut node.js configuration de lancement, sans aucun argument. Peut-être que je suis juste le lancement de cette manière incorrecte... comment faites-vous cela? La façon dont je le fais c'est dans le post original.
drmrbrewer

@drmrbrewer je sélectionne le profil, puis appuyez sur la touche F5. J'ai juste donné que le commutateur de test et ça a fonctionné. i.imgur.com/CiRXX6X.png
John

Yep. F5 est l'équivalent de ce que je faisais... en appuyant sur le bouton "jouer" à côté du nom de profil... toujours je reçois le même message d'erreur et l'exécution des arguments spécifiés sont juste d'être complètement ignoré... aucune idée de ce qui se passe.
drmrbrewer

Dans d'autres langues

Cette page est dans d'autres langues

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