Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Debugging nuxt + Express - breakpoints not hit

I'm trying to get started with nuxt + express. I have the code from here: https://github.com/nuxt/express, running fine with npm run dev. I'd like to debug the API code.

In the users.js file:

import { Router } from 'express'

var router = Router()

// Mock Users
const users = [
  { name: 'Alexandre' },
  { name: 'Sébastien' }
]

/* GET users listing. */
router.get('/users', function (req, res, next) {
  res.json(users)
})

/* GET user by ID. */
router.get('/users/:id', function (req, res, next) {
  var id = parseInt(req.params.id)
  if (id >= 0 && id < users.length) {
    res.json(users[id])
  } else {
    res.sendStatus(404)
  }
})

export default router

I've set breakpoints within both the get methods. I've tried with WebStorm as well as Visual Studio Code, but in both cases the breakpoints are not hit.

My launch.json file looks like this:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${workspaceRoot}\\build\\main.js"
    }
  ]
}

and package.json:

{
  "name": "learn-nuxt",
  "version": "1.0.0",
  "description": "Nuxt.js project",
  "author": "naveed",
  "private": true,
  "scripts": {
    "dev": "backpack",
    "build": "nuxt build && backpack build",
    "start": "cross-env NODE_ENV=production node build/main.js",
    "precommit": "npm run lint",
    "lint": "eslint --ext .js,.vue --ignore-path .gitignore ."
  },
  "dependencies": {
    "axios": "^0.16.1",
    "backpack-core": "^0.3.0",
    "cross-env": "^4.0.0",
    "express": "^4.14.0",
    "nuxt": "~0.10.6",
    "source-map-support": "^0.4.14"
  },
  "devDependencies": {
    "babel-eslint": "^7.1.1",
    "backpack-core": "^0.3.0",
    "eslint": "^3.13.1",
    "eslint-config-standard": "^10.2.1",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-html": "^2.0.1",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-node": "^4.2.2",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-standard": "^3.0.1"
  }
}

This is what I see in the VS Code console:

Debugging with legacy protocol because Node.js v7.4.0 was detected.
node --debug-brk=42131 --nolazy build\main.js 
Debugger listening on 127.0.0.1:42131
Server listening on 127.0.0.1:3000
 DONE  Compiled successfully in 5591ms9:28:41 PM
> Open http://127.0.0.1:3000
like image 594
naveed Avatar asked Dec 05 '25 10:12

naveed


1 Answers

I found that adding

"protocol": "inspector"

to the configuration in launch.json fixes this problem and allow breakpoints to be hit.

like image 62
naveed Avatar answered Dec 07 '25 12:12

naveed