详解使用vscode+es6写nodejs服务端调试配置


Posted in NodeJs onSeptember 21, 2017

前端的小伙伴们在babel等的加持下,已经可以愉快的使用es6来写代码了。

然后对于服务端的nodejs就有点坑爹了,虽然原生支持了es6,但是只是部分支持,一些不支持的特性(比如module)使用了就会报错,所以如果想使用完整的es6来写服务端nodejs,我们还是离不开babel。

下面介绍一下在vscode中使用es6写nodejs的配置方法。

1.首先在根目录下建立.babelrc文件,写入babel配置,我的配置如下,记得npm安装babel及你需要的presets或者plugin。

{
 "presets": [
 "es2015",
 "stage-3"
 ]
}

2.其实此时已经可以通过babel-node来执行你的es6代码了。

babel-node src/index.js

然而这样的话,vscode里面是无法调试的。所以我们得换个思路,首先将源码使用babel转换,然后执行转换后的代码,附加一份sourcemap就好了。

3.package.json中增加build命令,使用babel转换es6代码。

"scripts": {
 ......
 "build": "babel src -d dist --source-maps"
 }

4.创建一个npm task(vscode概念),用来执行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", //执行npm命令
 "isShellCommand": true,
 "showOutput": "always",
 "suppressTaskName": true,
 "tasks": [
 {
  "taskName": "build", //task名称
  "args": [ //npm run build
  "run",
  "build"
  ],
  "isBuildCommand": true
 }
 ]
}

该文件在根目录.vscode目录下,名字是tasks.json,如果没有可以自己创建一个。

5.在vscode的调试配置文件中(.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"
  ], //源映射,指定实际执行文件
  "preLaunchTask": "build" //首先执行build task
 },
 {
  "type": "node",
  "request": "attach",
  "name": "附加到端口",
  "address": "localhost",
  "port": 5858
 }
 ]
}

主要干了这几件事:

  • 开启source-map,以便追踪到es6源码
  • 运行前先执行build,编译es6源码
  • 执行和调试编译后的代码

OK,现在我们就可以愉快的在vscode里用es6写nodejs了,撒花~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJs基本语法和类型
Feb 13 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
手把手教你把nodejs部署到linux上跑出hello world
Jun 19 NodeJs
NodeJS链接MySql数据库的操作方法
Jun 27 NodeJs
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
Sep 19 NodeJs
NodeJS爬虫实例之糗事百科
Dec 14 NodeJs
nodejs超出最大的调用栈错误问题
Dec 27 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
nodejs使用redis作为缓存介质实现的封装缓存类示例
Feb 07 NodeJs
nodejs更新package.json中的dependencies依赖到最新版本的方法
Oct 10 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
Sep 19 #NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 #NodeJs
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
Sep 18 #NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 #NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 #NodeJs
nodejs socket服务端和客户端简单通信功能
Sep 14 #NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 #NodeJs
You might like
php对接java现实加签验签的实例
2016/11/25 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
JS中操作JSON总结
2020/12/06 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python的Template使用指南
2014/09/11 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
基于python实现高速视频传输程序
2019/05/05 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
浅析python 字典嵌套
2020/09/29 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
新员工试用期自我鉴定
2014/04/17 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
六查六看六改心得体会
2014/10/14 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
收入证明申请书
2015/06/12 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书