如何在VSCode编辑器中调试NodeJS(ES6)代码? [英] How to debug NodeJS(ES6) code in VSCode editor?
问题描述
我正在尝试从VSCode调试用ES6编写的nodejs应用程序. 但这会引发以下错误:
I am trying to debug my nodejs application written in ES6 from VSCode. But it is throwing following error:
node --debug-brk=18712 --nolazy index.js
Debugger listening on [::]:18712
/Users/rsiva/Projects/Siva/ntask/ntask-api/index.js:1
(function (exports, require, module, __filename, __dirname) { import express from "express";
^^^^^^
SyntaxError: Unexpected token import
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Timeout.Module.runMain [as _onTimeout] (module.js:604:10)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
我查看了如何调试vue 和
I have looked at How do I debug vue js application in VS Code? and https://medium.com/@katopz/how-to-debug-es6-nodejs-with-vscode-8d00bd6c4f94#.yaevayjs3 but those solutions are not working.
我的package.json:
My package.json:
{
"name": "ntask-api",
"version": "1.0.0",
"description": "Task list API",
"main": "index.js",
"scripts": {
"start": "babel-node index.js"
},
"author": "Siva",
"dependencies": {
"babel-cli": "^6.5.1",
"babel-preset-es2015": "^6.5.0",
"consign": "^0.1.2",
"express": "^4.13.4",
"sequelize": "^3.19.2",
"sqlite3": "^3.1.8"
},
"devDependencies": {
"babel-register": "^6.18.0"
},
"babel": {
"presets": [
"es2015"
],
"sourceMaps": true,
"retainLines": true
}
}
launch.json:
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceRoot}/index.js",
"cwd": "${workspaceRoot}",
"sourceMaps": true
},
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 5858
}
]
}
我了解我使用 babel-node 从控制台正常运行应用程序以使用ES6,但是如何让VSCode使用 babel-node 而不是节点?
I understand that I am using babel-node for running the application normally from console to use ES6, but how to let VSCode use babel-node instead of node?
推荐答案
您需要将launch.json配置文件中的runtimeExecutable
设置为babel-node的路径值.
You need to set runtimeExecutable
in launch.json configuration file to the value of babel-node's path.
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch via Babel",
"program": "${workspaceRoot}/index.js",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/babel-node",
"cwd": "${workspaceRoot}"
}
]
}
这篇关于如何在VSCode编辑器中调试NodeJS(ES6)代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!