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

发布时间 - 2026-01-11 03:21:41    点击率:

前端的小伙伴们在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了,撒花~

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


# vs  # code  # 调试  # nodejs  # vscode  # 调试es6  # 配置nodejs  # NodeJS模块与ES6模块系统语法及注意点详解  # 让nodeJS支持ES6的词法----babel的安装和使用方法  # 详解如何在NodeJS项目中优雅的使用ES6  # 详解nodejs内置模块  # nodejs模块系统源码分析  # 浅谈JS和Nodejs中的事件驱动  # 如何在Nodejs中使用模块fs文件系统  # 详解Node.js如何处理ES6模块  # 创建一个  # 服务端  # 来写  # 就会  # 可以通过  # 如果没有  # 不支持  # 报错  # 干了  # 换个  # 介绍一下  # 该文件  # 配置文件  # 前先  # 大家多多  # 就可以  # 这样的话  # 加持  # 里用  # 执行文件 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 打造顶配客厅影院,这份100寸电视推荐名单请查收  如何在万网自助建站中设置域名及备案?  如何快速打造个性化非模板自助建站?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何在阿里云虚拟服务器快速搭建网站?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  如何为不同团队 ID 动态生成多个非值班状态按钮  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Swift中循环语句中的转移语句 break 和 continue  Android滚轮选择时间控件使用详解  Python文件操作最佳实践_稳定性说明【指导】  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  如何基于云服务器快速搭建个人网站?  手机软键盘弹出时影响布局的解决方法  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  创业网站制作流程,创业网站可靠吗?  python中快速进行多个字符替换的方法小结  制作企业网站建设方案,怎样建设一个公司网站?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  黑客如何利用漏洞与弱口令入侵网站服务器?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Linux网络带宽限制_tc配置实践解析【教程】  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何在阿里云完成域名注册与建站?  如何用狗爹虚拟主机快速搭建网站?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  高端云建站费用究竟需要多少预算?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Laravel如何生成API文档?(Swagger/OpenAPI教程)  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  网站制作壁纸教程视频,电脑壁纸网站?  如何在云主机上快速搭建多站点网站?  如何用花生壳三步快速搭建专属网站?  Laravel Fortify是什么,和Jetstream有什么关系  如何在香港服务器上快速搭建免备案网站?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  android nfc常用标签读取总结  个人网站制作流程图片大全,个人网站如何注销?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】