详解使用vscode+es6写nodejs服务端调试配置
时间:2019-04-07
本文章向大家介绍详解使用vscode+es6写nodejs服务端调试配置,主要包括详解使用vscode+es6写nodejs服务端调试配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前端的小伙伴们在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了,撒花~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- 通过几个Hello World感受.NET Core全新的开发体验
- ASP.NET MVC三个重要的描述对象:ControllerDescriptor
- 基于自制数据集的MobileNet-SSD模型训练
- .NET Core采用的全新配置系统[1]: 读取配置数据
- ASP.NET MVC三个重要的描述对象:ActionDescriptor
- 升级比特币区块链后,以特币已叩响成功的大门
- .NET Core采用的全新配置系统[2]: 配置模型设计详解
- 采用双拼域名meicai.cn的美菜网融资4.5亿美元
- 区块链技术或将迎来突破性进展,以特币未来生机勃勃
- 配置多个网卡的OpenStack VM
- .NET Core采用的全新配置系统[3]: “Options模式”下的配置是如何绑定为Options对象
- 游戏用户中心开发
- .NET Core采用的全新配置系统[4]: “Options模式”下各种类型的Options对象是如何绑定的?
- js运算符优先级笔记
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法