调试nuxt + Express - 没有命中断点

时间:2017-05-09 02:29:44

标签: node.js express visual-studio-code webstorm nuxt.js

我正在努力开始使用nuxt + express。我有来自此处的代码:https://github.com/nuxt/express,正常运行npm run dev。我想调试API代码。

在users.js文件中:

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

我在两个get方法中都设置了断点。我尝试过使用WebStorm以及Visual Studio Code,但在这两种情况下都没有遇到断点。

我的launch.json文件如下所示:

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

和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"
  }
}

这是我在VS Code控制台中看到的:

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

1 个答案:

答案 0 :(得分:1)

我发现添加了

"protocol": "inspector"

到launch.json中的配置修复了这个问题,并允许命中断点。