我希望能够单步执行我的express服务器逻辑,但我无法这样做。
我使用的是nodeJS版本v6.2和babel-node版本v6.9
下面是我想要介绍的一小段代码:
app.get("/instagram", (req, res) => {
const instagramEndpoint = "https://api.instagram.com/v1/users/self/media/recent/?access_token=";
const limit = 16;
const user = "testuser";
const keys = require('./keys.json');
const accessToken = keys.instagram.accessToken;
console.log('HIT instagram API');
fetch(instagramEndpoint + accessToken[user])
.then(res => {
if (res.status !== 200) {
log.error('Instagram API status is not 2XX');
log.error('Status: ' + res.status);
return {};
}
console.log('request to instagram API successful');
debugger;
return res;
})
.catch(err => {
log.error('Instagram API error: ' + err);
return {};
});
});以下是我尝试过的命令及其输出:
$ babel-node --debug-brk --inspect server/server.js
$ babel-node --debug-brk server/server.js 这两个命令在终端中都有以下内容:

$ babel-node --inspect --presets babel-preset-es2015 -- server/server.js
$ babel-node --debug --presets babel-preset-es2015 --inspect -- server/server.js --debug
$ babel-node --debug --presets babel-preset-es2015 --inspect -- server/server.js这些命令给了我很大的帮助。对于--debug,Debugger listening on port 5858被添加到输出的顶部。我不确定我的代码是否已经到达debugger

当我转到localhost:5858时,浏览器中唯一的输出是
Type: connect
V8-Version: 5.0.71.47
Protocol-Version: 1
Embedding-Host: node v6.2.0
Content-Length: 0我做错了什么?我无法遍历我的express服务器
发布于 2017-10-10 15:55:06
问题是,您需要使用新的附加模式,因为在启动调试进程之前,代码将首先由babel-node转译。
node_modules/babel-cli/bin/babel-node.js --debug --presets es2015 -- <app_entry_point> --debug在命令运行之后,您应该看到端口9229正在侦听

我正在撰写关于如何在VSCode中调试ES6的指南,您可以访问here获取更多详细信息
https://stackoverflow.com/questions/41097574
复制相似问题