詳解使用vscode+es6寫(xiě)nodejs服務(wù)端調(diào)試配置
前端的小伙伴們?cè)赽abel等的加持下,已經(jīng)可以愉快的使用es6來(lái)寫(xiě)代碼了。
然后對(duì)于服務(wù)端的nodejs就有點(diǎn)坑爹了,雖然原生支持了es6,但是只是部分支持,一些不支持的特性(比如module)使用了就會(huì)報(bào)錯(cuò),所以如果想使用完整的es6來(lái)寫(xiě)服務(wù)端nodejs,我們還是離不開(kāi)babel。
下面介紹一下在vscode中使用es6寫(xiě)nodejs的配置方法。
1.首先在根目錄下建立.babelrc文件,寫(xiě)入babel配置,我的配置如下,記得npm安裝babel及你需要的presets或者plugin。
{ "presets": [ "es2015", "stage-3" ] }
2.其實(shí)此時(shí)已經(jīng)可以通過(guò)babel-node來(lái)執(zhí)行你的es6代碼了。
babel-node src/index.js
然而這樣的話,vscode里面是無(wú)法調(diào)試的。所以我們得換個(gè)思路,首先將源碼使用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)建一個(gè)npm task(vscode概念),用來(lái)執(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,如果沒(méi)有可以自己創(chuàng)建一個(gè)。
5.在vscode的調(diào)試配置文件中(.vscode -> launch.json),進(jìn)行如下配置
{ // 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": "啟動(dòng)程序", "program": "${workspaceRoot}\\src\\index.js", "sourceMaps": true, //sourcemap打開(kāi) "outFiles": [ "${workspaceRoot}\\dist\\index.js" ], //源映射,指定實(shí)際執(zhí)行文件 "preLaunchTask": "build" //首先執(zhí)行build task }, { "type": "node", "request": "attach", "name": "附加到端口", "address": "localhost", "port": 5858 } ] }
主要干了這幾件事:
- 開(kāi)啟source-map,以便追蹤到es6源碼
- 運(yùn)行前先執(zhí)行build,編譯es6源碼
- 執(zhí)行和調(diào)試編譯后的代碼
OK,現(xiàn)在我們就可以愉快的在vscode里用es6寫(xiě)nodejs了,撒花~
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié)
這篇文章主要介紹了nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié),對(duì)FS模塊的大部份異步函數(shù)做了介紹,而且用中文注釋,這下用起來(lái)方便了,需要的朋友可以參考下2014-06-06nodejs不用electron實(shí)現(xiàn)打開(kāi)文件資源管理器并選擇文件
最近在開(kāi)發(fā)一些小腳本,用 nodejs 實(shí)現(xiàn),其中很多功能需要選擇一個(gè)/多個(gè)文件,或者是選擇一個(gè)文件夾,這種情況下網(wǎng)上給出的解決方案都是 electron,但是我一個(gè)小腳本用 electron 屬實(shí)有點(diǎn)夸張了,后來(lái)轉(zhuǎn)念一想可以通過(guò) powershell 來(lái)實(shí)現(xiàn)類(lèi)似的功能,需要的朋友可以參考下2024-01-01使用node+vue.js實(shí)現(xiàn)SPA應(yīng)用
這篇文章主要介紹了使用node+vue.js實(shí)現(xiàn)SPA應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-01-01NodeJS實(shí)現(xiàn)一個(gè)聊天室功能
這篇文章主要介紹了NodeJS實(shí)現(xiàn)一個(gè)聊天室功能,本文實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Node.js和Express簡(jiǎn)單入門(mén)介紹
本篇文章主要介紹了Node.js和Express簡(jiǎn)單入門(mén)介紹,詳細(xì)介紹如何用Node.js和Express搭建一個(gè)web服務(wù)器,有興趣的可以了解一下。2017-03-03