ES6で記述されたnodejsアプリケーションをVSCodeからデバッグしようとしています。しかし、それは次のエラーを投げています:
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)
私は VSコードでどのようにデバッグするかvue js application? および https://medium.com/@katopz/how-to -debug-es6-nodejs-with-vscode-8d00bd6c4f94#.yaevayjs しかし、これらのソリューションは機能していません。
私の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
}
]
}
ES6を使用するためにコンソールからアプリケーションを通常実行するためにbabel-nodeを使用していることを理解していますが、VSCodeにbabel-nodeではなくnode?
Launch.json構成ファイルのruntimeExecutable
をbabel-nodeのパスの値に設定する必要があります。
{
"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}"
}
]
}