详解使用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中exports与module.exports的区别详细介绍
Jan 14 NodeJs
NodeJS Express框架中处理404页面一个方式
May 28 NodeJs
使用nodejs、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
NodeJS的Promise的用法解析
May 05 NodeJs
用nodeJS搭建本地文件服务器的几种方法小结
Mar 16 NodeJs
nodejs处理图片的中间件node-images详解
May 08 NodeJs
详解Nodejs之静态资源处理
Jun 05 NodeJs
Nodejs实现多房间简易聊天室功能
Jun 20 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
Nodejs 复制文件/文件夹的方法
Aug 24 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
php实现图片缩略图的方法
2016/03/29 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
浅谈javascript中的作用域
2012/04/07 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
python的re模块应用实例
2014/09/26 Python
Golang与python线程详解及简单实例
2017/04/27 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
numpy自动生成数组详解
2017/12/15 Python
python连接mongodb密码认证实例
2018/10/16 Python
python调用java的jar包方法
2018/12/15 Python
详解小白之KMP算法及python实现
2019/04/04 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
见习期自我鉴定
2013/11/07 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
服务明星事迹材料
2014/12/29 职场文书
财政局个人总结
2015/03/04 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书