Проблема асинхронной отладки с узлом и кодом - PullRequest
0 голосов
/ 31 мая 2019

Мои точки останова в коде VS продолжают прыгать - я использую node.JS, и когда я запускаю отладчик, моя точка останова переходит от строки 30 приблизительно к строке 130 или около того в нижней части файла с функцией экспорта.

Проект, над которым я работаю, является служебным слоем, поэтому он почти полностью асинхронный.

    async superspecficfunnamedoeshere(blah, accessToken) {
        console.log('example') 
Breakpoint goes on above line^
    Bunch more code goes here, here is the function etc , the breakpoint is just under the function declaration 
        }
    }

export thing from thing
^^ breakpoint moves to bottom export statement.

Размещение точки останова в этой строке console.log просто полностью пропускает всю функцию и переходит к оператору экспорта внизу.

Вот мой launch.json - сначала он не работал в операторе импорта, пока я не настроил его для работы с babel:

{
  // 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": [
    {
      "type": "node",
      "request": "launch",
      "name": "thing1",
      "program": "${workspaceFolder}/src/app.js",
      "protocol": "inspector",
            "runtimeArgs": [
                "--harmony",
            ],
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/babel-node",
      "envFile": "${workspaceFolder}/.env",
      "outFiles": [ "${workspaceFolder}/bin/**/*.js" ],
    }
  ]
}

наконец, вот мой конфиг babel

{ "env": {
    "development": {
    "sourceMaps": true,
    "retainLines": true
    }
    },
    "presets": [
        [
            "@babel/preset-env",
            {
                "targets": {
                    "node": "current"
                }
            }
        ]
    ]
}

Как заставить работать отладочные асинхронные функции?

Я уже пытался просмотреть документы vs code, и я немного запутался в том, как работают исходные карты. Но я реализовал некоторые из предложений там.

Нет сообщения об ошибке, только точка останова перемещается в конец файла из строки console.log, где точка останова находится намного раньше (без показа для нее)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...