在使用ES6寫后端代碼時我遇到一個問題就是如何debug
我的ES6代碼峡蟋。?由于現(xiàn)在Node對ES6的所有特性支持的還不全诉位,所以在真正的生產環(huán)境中伦连,ES6代碼會通過Babel被轉成ES5然后執(zhí)行造寝。
但是在開發(fā)環(huán)境中我還是希望debug
的是我的ES6代碼而不是轉換后的ES5代碼家妆,我們可以通過babel-node來實現(xiàn)我們想要的珊豹。
在WebStorm中我們有兩種方式debug
我們的代碼:本地debug和遠程debug簸呈。
本地debug
- 打開Run/Debug Configurations窗口
- 添加一個新的Node.js配制
- 配制Debug設置
上面的配制里主要有這么幾條:
Node interpreter
從名字上看就知道需要選擇Debug時Node的解釋器,這里我們選擇了我自己project下的./node_modules/.bin/babel-node
Node parameters
這里可以傳入一些在運行babel-node時的一些參數(shù)店茶,因為我使用了ES6和一些ES7的性蜕便,所以我傳入了--presets es2015,stage-0
Working directory
程序運行入口的目錄
JavaScript file
程序運行入口
Apply
后這條配制就已經可用了,在WebStorm中選擇這條配制贩幻,點擊debug
轿腺,程序開始運行并開啟了debug
。
查看console可以看到最終babel-node是以如下命令啟動的:
/Users/ylhong/Workspace/myhome-service/project/node_modules/.bin/babel-node --debug-brk=63063 --expose-debug-as=v8debug --presets es2015,stage-0 /Users/ylhong/Workspace/myhome-service/project/src/index.js