詳解使用vscode+es6寫nodejs服務端調(diào)試配置
前端的小伙伴們在babel等的加持下,已經(jīng)可以愉快的使用es6來寫代碼了。
然后對于服務端的nodejs就有點坑爹了,雖然原生支持了es6,但是只是部分支持,一些不支持的特性(比如module)使用了就會報錯,所以如果想使用完整的es6來寫服務端nodejs,我們還是離不開babel。
下面介紹一下在vscode中使用es6寫nodejs的配置方法。
1.首先在根目錄下建立.babelrc文件,寫入babel配置,我的配置如下,記得npm安裝babel及你需要的presets或者plugin。
{
"presets": [
"es2015",
"stage-3"
]
}
2.其實此時已經(jīng)可以通過babel-node來執(zhí)行你的es6代碼了。
babel-node src/index.js
然而這樣的話,vscode里面是無法調(diào)試的。所以我們得換個思路,首先將源碼使用babel轉(zhuǎn)換,然后執(zhí)行轉(zhuǎn)換后的代碼,附加一份sourcemap就好了。
3.package.json中增加build命令,使用babel轉(zhuǎn)換es6代碼。
"scripts": {
......
"build": "babel src -d dist --source-maps"
}
4.創(chuàng)建一個npm task(vscode概念),用來執(zhí)行npm run build
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "npm", //執(zhí)行npm命令
"isShellCommand": true,
"showOutput": "always",
"suppressTaskName": true,
"tasks": [
{
"taskName": "build", //task名稱
"args": [ //npm run build
"run",
"build"
],
"isBuildCommand": true
}
]
}
該文件在根目錄.vscode目錄下,名字是tasks.json,如果沒有可以自己創(chuàng)建一個。
5.在vscode的調(diào)試配置文件中(.vscode -> launch.json),進行如下配置
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "啟動程序",
"program": "${workspaceRoot}\\src\\index.js",
"sourceMaps": true, //sourcemap打開
"outFiles": [
"${workspaceRoot}\\dist\\index.js"
], //源映射,指定實際執(zhí)行文件
"preLaunchTask": "build" //首先執(zhí)行build task
},
{
"type": "node",
"request": "attach",
"name": "附加到端口",
"address": "localhost",
"port": 5858
}
]
}
主要干了這幾件事:
- 開啟source-map,以便追蹤到es6源碼
- 運行前先執(zhí)行build,編譯es6源碼
- 執(zhí)行和調(diào)試編譯后的代碼
OK,現(xiàn)在我們就可以愉快的在vscode里用es6寫nodejs了,撒花~
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)
這篇文章主要介紹了nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié),對FS模塊的大部份異步函數(shù)做了介紹,而且用中文注釋,這下用起來方便了,需要的朋友可以參考下2014-06-06
nodejs不用electron實現(xiàn)打開文件資源管理器并選擇文件
最近在開發(fā)一些小腳本,用 nodejs 實現(xiàn),其中很多功能需要選擇一個/多個文件,或者是選擇一個文件夾,這種情況下網(wǎng)上給出的解決方案都是 electron,但是我一個小腳本用 electron 屬實有點夸張了,后來轉(zhuǎn)念一想可以通過 powershell 來實現(xiàn)類似的功能,需要的朋友可以參考下2024-01-01

