Visual Studio代码nodejs调试无法正常工作

时间:2018-02-04 05:36:51

标签: node.js express debugging visual-studio-code

我是使用visual studio代码并尝试调试节点应用程序的新手。我已经生成了launch.json文件,如下所示:

"configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceRoot}/server/app.js"
        }
    ] 

这是我正在尝试调试的方法,它位于testController.js中:

exports.index = function(req, res) {
    res.send('NOT IMPLEMENTED: Site Home Page');
};

我还添加了这个控制器来路由并添加了表达app的路由如下:

test.js

const express = require('express');

    const router = express.Router();

    var test_controller = require('../controllers/testController');

    router.get('/',test_controller.index);

    module.exports = router;

和app.js:

var index = require('./routes/test');
//Add routes middlewares
app.use('/',index);

我已经将断点添加到exports.index。当我点击调试按钮它直接遇到断点时的问题但是当我从Postman调用相同的路径来测试api时,它永远不会到达断点。任何建议。

1 个答案:

答案 0 :(得分:0)

您在方法定义上设置的断点将在启动时在服务器启动期间点击,其中在方法行中添加的断点将在调用方法时命中。

在您的情况下,您将断点添加到exports.index = function(req, res) {而不是res.send('NOT IMPLEMENTED: Site Home Page');。当你点击调试按钮时它的命中和调用相同的方法,内部线路没有击中。确保在要检查的行中添加了断点。