详解使用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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
NodeJS的模块写法入门(实例代码)
Mar 07 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
Nov 21 NodeJs
解析NodeJs的调试方法
Dec 11 NodeJs
nodejs和php实现图片访问实时处理
Jan 05 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
详解webpack打包nodejs项目(前端代码)
Sep 19 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs使用socket5进行代理请求的实现
Feb 21 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 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
smarty中常用方法实例总结
2015/08/07 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
extjs render 用法介绍
2013/09/11 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
python简单猜数游戏实例
2015/07/09 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
python构建基础的爬虫教学
2018/12/23 Python
Python函数中的可变长参数详解
2019/09/12 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
学生档案自我鉴定
2013/10/07 职场文书
英语系毕业生自荐信
2013/10/31 职场文书
留学推荐信写作指南
2014/01/25 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
产品售后服务承诺书
2014/05/21 职场文书
信仰心得体会
2014/09/05 职场文书
个人股份转让协议书范本
2014/10/26 职场文书