How to debug NodeJS (ES6) code in VSCode editor?

I am trying to debug my nodejs application written in ES6 from VSCode. But this causes the 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) 

I looked at How to debug a vue js application in VS Code? and https://medium.com/@katopz/how-to-debug-es6-nodejs-with-vscode-8d00bd6c4f94#.yaevayjs3 , but these solutions do not work.

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:

 { "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 } ] } 

I understand that I use babel-node to run the application, usually from the console, to use ES6, but how to enable VSCode to use babel-node instead of node ?

+5
source share
1 answer

You need to set the runtimeExecutable in the launch.json configuration file to the babel-node path value.

 { "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}" } ] } 
+10
source

Source: https://habr.com/ru/post/1263606/


All Articles