Как вы отлаживаете ExpressJS с VS Code? - PullRequest
0 голосов
/ 13 февраля 2019

Существует ноль хороших статей о том, как отлаживать приложение ExpressJS с помощью VS Code.Что я хочу сделать, это nodemon index.js мое экспресс-приложение.Затем, учитывая мои контрольные точки, установленные в index.js файле VS Code open chrome, перейдите к https://myapp:4000 и ожидайте, что моя контрольная точка достигнута.

Это все, что я до сих пор пробовал в своем launch.json.

{
  "name": "Launch",
  "type": "node",
  "request": "launch",
  "program": "${workspaceFolder}/server/express-api/index.js",
  "stopOnEntry": true,
  "args": [],
  "cwd": "${workspaceFolder}",
  "preLaunchTask": null,
  "runtimeExecutable": null,
  "runtimeArgs": [
    "--nolazy"
  ],
  "env": {
    "NODE_ENV": "development"
  },
  "console": "internalConsole",
  "sourceMaps": false
},
{
  "type": "chrome",
  "request": "attach",
  "name": "Attach to Chrome",
  "url": "https://myapp",
  "port": 4000,
  "webRoot": "${workspaceFolder}"
}

и

{
  "type": "node",
  "request": "launch",
  "name": "Launch Program",
  "protocol": "inspector",
  "runtimeExecutable": "nodemon",
  "runtimeArgs": [
    "--inspect=4000"
  ],
  "program": "${workspaceFolder}/server/express-api/index.js",
  "port": 4000,
  "restart": true,
  "env": {
    "NODE_ENV": "development"
  },
  "console": "integratedTerminal",
  "internalConsoleOptions": "neverOpen"
},
{
  "type": "chrome",
  "request": "attach",
  "name": "Launch Chrome",
  "port": 9222,
  "url": "ws://127.0.0.1:4000",
  "webRoot": "${workspaceFolder}/server/express-api/index.js"
}

Моя структура каталогов такая же, как и у

${workspaceFolder}/client/ <-- angular app created with angular-cli
${workspaceFolder}/server/express-api/ <-- holds the index.js and all the route files

Мой Express api обслуживает мои файлы сборки angular-cli.И мой экспресс API подан с

const app = express();
const https = require('https');
const httpsServer = https.createServer(credentials, app);
httpsServer.listen(4000, 'myapp', () => console.log('app running');

Что я делаю не так?

...