Vscode'daki bir hata ayıklama terminalinde npm testini çalıştırma

0

Soru

Başlatmamda bir yapılandırma oluşturmaya çalışıyorum.çalışacak json npm test içinde bulunduğu klasörde .js dosyanın bulunduğu. Koşma npm test bir terminalde manuel olarak, ilgili komutu alarak iyi çalışır. scripts benim bir parçam package.json:

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

Özellikle, koşarken npm test doğrudan bir terminalde, belirtilen env var test komut satırı yürürlüğe girer ve --experimental-json-modules bayrak şu adrese iletilir: node.

Bu benim fırlatmam.jsonname:

{
    // 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"
        }
    ]
}

Bu, editörde önerilen önceden tanımlanmış seçeneklerden biriyle aynıdır ve buna çok benzer.

Ama bu yapılandırmayı çalıştırdığımda nodeserver.js dosya anlıyorum :

enter image description here

Çalışıyor gibi görünüyor node yapılandırmada belirttiğim bayrak olmadan mı? Bunun nasıl olduğu hakkında neyi yanlış anlıyorum launch.json plan işe yarıyor mu?

DÜZENLEME Ne kadar çok oynarsam, yapılandırma tamamen göz ardı ediliyormuş gibi görünüyor, böylece varsayılan düğümü kullanıyor.js yapılandırması... Açılır menüden yapılandırmayı seçiyorum ve oynat simgesine basıyorum:

enter image description here

İşe yaramalı mı?

Koşmaktan başka npm start bir terminalde, bunu çalıştırmanın tek "otomatik" yolu, package.json ve görünen küçük Hata Ayıklama düğmesine tıklayarak scripts etiket:

enter image description here

Ama nasıl kullanılacağını öğrenmek istiyorum. launch.json bunun yerine ortam değişkenlerini vb.iletebilmem için düzgün bir şekilde.

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

Npm test komut dosyasını doğrudan başlatmanızda oluşturmayı deneyebilirsiniz.yukarıdaki gibi 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": [
    {
        "name": "Run npm test",
        "request": "launch",
        "type": "node",
        "args": ["--experimental-json-modules", "${workspaceFolder}/nodeserver"],
        "env": {
           "MY_VAR": "abc"
        }

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

Tam olarak aynı şey bununla olur launch.json çok... yapılandırma yalnızca tamamen yoksayılıyor gibi görünüyor, böylece varsayılan düğümü kullanıyor.js başlatma yapılandırması.
drmrbrewer
0

başlatmak.jsonname

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

Referans için: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Tam olarak aynı şey bununla olur launch.json çok... yapılandırma gibi görünüyor (dahil olmak üzere --experimental-json-modules arg) sadece tamamen göz ardı ediliyor, böylece varsayılan düğümü kullanıyor.herhangi bir args olmadan js başlatma yapılandırması. Belki de bunu yanlış başlatıyorum... bunu nasıl yapıyorsun? Bunu yapma şeklim orijinal gönderide.
drmrbrewer

@ drmrbrewer Profili seçip F5 tuşuna basıyorum. O düğmeye bir test yaptım ve işe yaradı. i.imgur.com/CiRXX6X.png
John

Evet. F5 yaptığım şeyin karşılığıdır... profil adının yanındaki "oynat" düğmesine basmak... yine de aynı hatayı alıyorum ve belirtilen çalışma zamanı arg'leri tamamen göz ardı ediliyor... neler oluyor hiçbir fikrim yok.
drmrbrewer

Diğer dillerde

Bu sayfa diğer dillerde

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