Как устранить причину, по которой точки останова Visual Studio Code не работают - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь настроить рабочее пространство VS C для отладки, но не могу заставить работать точки останова, они отображаются в виде полых серых кружков и никогда не попадают.

Я думаю, что это имеет чтобы сделать с 'sourceMaps' 'outFiles' и друзьями, но я не могу найти комбинацию magi c, чтобы сделать эту работу, пробовал все предложения, которые я нашел в SO и в Интернете.

Проект I Я пытаюсь отладить веб-приложение node.js 'webpack', построенное на 'express'.

В основном код (не мой) находится здесь:

https://github.com/OpenWebCAD

Он состоит из нескольких (нелокальных) npm пакетов, и мне нужно иметь возможность устанавливать точку останова в каждом.

У меня есть весь код в их собственных подкаталогах вот так:

node-cad
   node-occ
   node-occ-geomview
   node-occ-sample
   ...etc...

Моя рабочая область VS C - это node -cad.

Если я установил node-o cc -sample (который является фактическим приложением) в качестве рабочей области тогда я могу отлаживать код на стороне сервера прямо из коробки, но не могу заставить работать отладку chrome. И, конечно же, я не могу установить точки останова в необходимых пакетах.

Исходный код для фактического пакета приложения структурирован следующим образом:

node-occ-sample
   src
      views
         viewer.js 
         ...etc...
      routes
         index.js 
         ...etc...
      app2.js
   client
      client_app.js

и webpack компилирует его в:

node-occ-sample
   dist
      public
         ...stuff...
      client
         client_app.j
      app.js
      views.js

для запуска приложения (без отладки) он запускается с npm start, что на самом деле делает:

node ./node_modules/webpack/bin/webpack.js; node dist/app.js

, и это запускает веб-сервер, прослушивающий на 3000, поэтому для тестирования приложения в chrome в браузере осуществляется доступ к localhost: 3000.

У меня (в настоящее время) есть следующие конфигурации запуска в моем рабочем пространстве node-cad:

    {
            "name": "Launch node-occ-sample",
            "type": "node",
            "request": "launch",
            "runtimeExecutable": "node",
            "program": "${workspaceFolder}/node-occ-sample/dist/app.js",
            "restart": true,
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen",
            "sourceMaps": true,
            "outFiles": ["${workspaceFolder}/node-occ-sample/**/*.js"]

           },

           {
            "name": "Launch Chrome localhost:3000",
            "type": "chrome",
            "request": "launch",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceFolder}/node-occ-sample/dist",
            "sourceMaps": true,
        },

, и они работают в том смысле, что Я могу запустить как серверную часть, так и chrome, загружая url localhost: 3000, но точки останова не работают.

И я пробовал кучу вещей за целый день.

Так в чем проблема?

Как мне отладить эту проблему?

Я в порядке с fi sh, если вы дадите его мне, но даже лучше, если вы научите меня как фи sh;)

...