翻译:在vscode中调试es6

2023-05-16

原文:How to debug ES6 NodeJS with VSCode – katopz – Medium

快速实践

先上项目:katopz/vscode-debug-nodejs-es6: How to debug ES6 NodeJS with VSCode

使用vscode调试es6时,会有如下错误。

$ node --debug-brk=14397 --nolazy server.js 
Debugger listening on [::]:14397
/Users/katopz/git/vscode-debug-nodejs-es6/server.js:1
(function (exports, require, module, __filename, __dirname) { import fetch from 'isomorphic-fetch';
                                                              ^^^^^^
SyntaxError: Unexpected token import
...

解决办法:

使用babel-register
专业建议(Pro tips) : 你也可以使用babel-node或者其他的方式,但需要做更多的工作,因此这里仅介绍babel-register的方式.

$ npm i -D babel-register
$ npm i -D babel-preset-es2015


package.json

{
  // ...
  // something else
  // ...
  "devDependencies": {
    "babel-preset-es2015": "^6.18.0",
    "babel-register": "^6.18.0"
  },
  "babel": {
    "presets": [
      "es2015"
    ],
    "sourceMaps": true,
    "retainLines": true
  }
}


或者配置.babelrc

{
  "presets": [
    "es2015"
  ],
  "sourceMaps": true,
  "retainLines": true
}

注意 : 在这里统一将配置到package.json。

额外的配置

需要额外的配置babel,例子中已经配置

"sourceMaps": true,
"retainLines": true


同时在.vscode/launch.json添加

"sourceMaps": true,

如果不添加sourceMaps,会这样:

这样你就可以使用vscode开始调试了.

漂亮吧?

最佳实践

对于生产,应该使用这面所提到的代替方法
请注意,这不适用于生产环境。部署这种方式编译的代码并不是好的做法。在部署之前最好提前编译。然而,这对于在本地运行调试或编写脚本是非常有效的。
现在让我们来召唤调试吧!

 

翻译笔记

babel-register

babel-register模块改写require命令,为它加上一个钩子。此后,每当使用require加载.js、.jsx、.es和.es6后缀名的文件,就会先用Babel进行转码。

$ npm install --save-dev babel-register
使用时,必须首先加载babel-register。

require("babel-register");
require("./index.js");
然后,就不需要手动对index.js转码了。
需要注意的是,babel-register只会对require命令加载的文件转码,而不会对当前文件转码。另外,由于它是实时转码,所以只适合在开发环境使用。

sourceMaps & retainLines

sourceMaps: If truthy, adds a map property to returned output. If set to "inline", a comment with a sourceMappingURL directive is added to the bottom of the returned code. If set to "both" then a map property is returned as well as a source map comment appended. This does not emit sourcemap files by itself! To have sourcemaps emitted using the CLI, you must pass it the --source-maps option.

retainLines: Retain line numbers. This will lead to wacky code but is handy for scenarios where you can’t use source maps. (NOTE: This will not retain the columns)

 

参考:

  • Babel 入门教程 - 阮一峰的网络日志
  • API · Babel
  • 在node中使用babel6的一些简单分享 - CNode技术社区

 

转载于:https://my.oschina.net/u/2419022/blog/1335021

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

翻译:在vscode中调试es6 的相关文章

  • Win10环境下配置VScode远程开发ssh-remote(免密登录)

    问题背景 在开发或者做实验的过程中 我们经常会用到远程服务器或者Github的项目 而我服务器上的项目只能在Jupyter Notebook上编写 或许可以在其他IDE上写 但我不知道 而我们喜欢用的IDE比如Pycharm 轻量级的VSc
  • Visual Studio Code 1.35更新:远程开发终于来啦

    前段时间大家可能看过一个新闻 微软为VSC开发一款名为Remote Development的扩展程序 可以让我们使用本地VSC开发和调试远程机器上的代码 这个功能对于我这个不会使用vim等linux工具的人来说 简直是一个重大消息 可惜的是
  • vscode cmake 编译32位程序

    vscode cmake 编译32位程序 为什么要用cmake vscode中的C C 插件直接支持的只是最简单的单文件编译 运行和调试 要管理大的项目 或者生成库 C C 插件不能直接支持 需要开发者利用vscode的task功能 结合脚
  • cpplint在VS Code中的安装及使用

    目录 前言 Python环境的配置 在VS Code中安装相应插件 补充 如何将VS Code默认的格式化风格改为Google风格 相关链接 前言 cpplint是一款Google的代码检查工具 确定一种编码风格对于我们有非常大的帮助 也可
  • 浏览器无法加载本地文件

    问题描述 在Visual Studio Code 编写HTML文件时需要将 csv文件内容在浏览器控制台窗口输出 浏览器控制一直报错 如下图所示 原因 跨域资源共享问题 本地文件是放在file 这样的系统下 而非网络资源比如http 下 造
  • VSCode 插件安装:中文(简体)语言包(附带:不生效解决方案)

    文章目录 VSCode 安装插件 中文 简体 语言包 中文语言包不生效解决方案 打开 命令面板 配置显示语言 选择中文 重启VSCode 效果 中文界面 VSCode 安装插件 中文 简体 语言包 插件市场搜索 中文 选择如下插件安装 Ch
  • 【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序

    bun js Bun 是一个现代的JavaScript运行环境 如Node Deno 主要特性如下 启动速度快 更高的性能 完整的工具 打包器 转码器 包管理 官网 https bun sh 优点 与传统的 Node js 不同 Bun j
  • vue项目中批量删除如何实现的

    简单回答 与单个删除的接口为同一个 然后通过数组对象的id来删除
  • 【ES6】Reflect反射机制

    文章目录 一 Reflect概述 二 用法详解 1 Object gt Reflect 2 修改Object方法的返回结果 3 命令式操作 gt 函数式操作 4 与Proxy对象的方法一一对象 5 apply 总结 一 Reflect概述
  • VSCode中配置命令行参数

    VSCode中配置命令行参数 在跑程序调试的时候 可以直接使用脚本运行程序 这个时候调试代码只能用pdb 我觉得不太习惯 而且感觉不是很好 所以想这能不能将运行程序的脚本中的命令直接配置到vscode上 就有了这篇记录 正常vscode D
  • VSCode搭建ARM(STM32开发环境)

    目录 需要用到的工具 软件安装 下载安装 Visual Studio Code 下载安装 STM32Cubemx 下载安装 ARM GCC交叉编译工具链 下载安装 Msys2 下载安装 OpenOCD 下载安装 Make 开发环境配置 ms
  • VScode 怎么设置成中文

    1 打开 vscode 2 按快捷键 Ctrl Shift P 3 在 vscode 顶部会出现一个搜索框 4 在搜索栏输入 Configure Display Language 然后回车 5 vscode 里面就会打开一个语言配置文件 6
  • settings.json是什么?VS Code的“用户”和“工作区”

    setting json settings json是VS Code众多配置文件中的一个 可以对VS Code进行页面风格 代码格式 字体颜色大小等的编辑设置 比如可能编辑器默认的一个tab为4个空格 用户可以在setting json里面
  • ES6阮一峰入门教程

    地址为 https es6 ruanyifeng com
  • ES6 面试题 | 14.精选 ES6 面试题

    前端开发工程师 主业 技术博主 副业 已过CET6 阿珊和她的猫 CSDN个人主页 牛客高级专题作者 在牛客打造高质量专栏 前端面试必备 蓝桥云课签约作者 已在蓝桥云课上架的前后端实战课程 Vue js 和 Egg js 开发企业级健康管理
  • VUE实践优化:轮询机制与代码结构升级

    前言 我们之前探讨过 对于包含处理状态的表格数据 我们可以通过轮询的方式进行处理 轮询更新进度条 JavaScript中的定时器和异步编程技巧 然而 当我们离开页面时 定时器仍会继续触发请求 这会造成资源的浪费 因为返回的数据并没有被渲染出
  • 【JavaScript】Set方法

    基本用法 ES6 提供了新的数据结构 Set 它类似于数组 但是成员的值都是唯一的 没有重复的值 Set 本身是一个构造函数 用来生成 Set 数据结构 const s new Set 2 3 5 4 5 2 2 forEach x gt
  • NVIDIA Jetson环境VSCode安装记录,前期失败问题在于英伟达使用的是arm64架构

    1 安装失败及原因探索 1 1 报错 Unable to install code The following packages have unmet dependencies 搜索一个链接就开始上手 Ubuntu 22 04安装Visua
  • 前端基础:回顾es6相关知识

    Author note 题记 ECMAscript is international standard of javascript ECMA 是 js的国际标准版语言 let and const 为什么之前用var现在需要用let cons
  • 【ES6】解构语句中的冒号(:)

    在解构赋值语法中 冒号 的作用是为提取的字段指定一个新的变量名 让我们以示例 const billCode code version route query 来说明 billCode code version 表示从 route query

随机推荐

  • 学生时代的书单

    大话系列的书 xff0c 用独特的行文风格 xff0c 以风趣 幽默的语言向读者讲述 概念原理知识 xff0c 用漫画式的插图帮助读者理解晦涩 枯燥的技术 xff0c 让我们在快乐中掌握知识 xff01 1 大话通信 通信基础知识读本 作者
  • tensorflow配置只使用CPU

    文章目录 1 方法一2 方法二 有些场景下 xff0c 比如GPU版本运行失败或其它原因 xff0c 需要强制tensorflow使用CPU xff0c 这里提供两种方法 xff0c 仅针对tensorflow2 1 方法一 span cl
  • 不同框架实现LSTM代码及转Onnx方法

    文章目录 1 Paddle 生成LSTM1 1 time major 61 False1 2 time major 61 True1 3 sequence lens1 4 无初始状态1 5 查看生成的onnx模型 2 pytorch 生成L
  • 从目标检测数据集中扣出所需类别进行分类

    文章目录 1 获取VOC数据集中两轮车2 接着做COCO数据集的分类数据获取3 YOLO 格式数据4 openimage数据获取获取标签根据displayname 获取 labelname 并指定我们想要的类别根据标签名找到对应的图片名称测
  • keras_cv进行数据增强

    使用keras cv来做分类数据增强 以下直接上流程 xff0c 具体的原理和代码上github查看源码及配合tensorflow官网及keras官网来做处理 当前 xff08 2022 10 8 这些文档还不是很全 span class
  • paddle的安装

    安装 1 安装paddle2 安装nccl3 验证 这次安装主要使用conda xff0c 可以有更好的安装体验 关于框架 xff0c 常用的tensorflow pytorch 但是国产的paddle也做的越来越好 xff0c 而且学习资
  • 去掉文件名中的特殊符号及中文

    文章目录 做深度学习算法收集数据时 xff0c 来源各种各样 xff0c 导至文件名混有各种特殊符号 xff0c 所在这里有一段代码 xff0c 可以把文件名进行处理 xff0c 只保留数字 字母和下划线 xff0c 然后对文件进行重命名
  • pip常用命令

    文章目录 看了一篇介绍pip的 xff0c 记录在这里 https mp weixin qq com s BejnKBp1OGTyW2SzHiCwcw 有安装 卸载 下载 xff0c 升级等使用方法 再贴个图 xff1a
  • 如何搭建高质量、高效率的前端工程体系--页面结构继承

    推荐理由 xff1a 推荐理由 xff1a 程序员在我们的印象中 xff0c 就是不停的敲代码 xff1b 而写的程序如何确保不出现bug 而且还能及时发现问题 xff0c 下面我推荐的这篇文章 xff0c 围绕整个前端的开发流程出发解决这
  • onnx删除无用属性

    这里写自定义目录标题 在推理onnx模型时 xff0c 报了一个错 xff0c 如下 xff1a InvalidGraph ONNXRuntimeError 10 INVALID GRAPH This is an invalid model
  • onnx模型显示输出形状

    在用netron查看模型时 xff0c 希望看到各个节点的shape xff0c 可以执行以下代码 1 依赖包 pip install onnx pip install onnx graphsurgeon index url https p
  • 使用opencv截取旋转框目标

    使用opencv截取旋转框目标 1 第一种方法2 第二种方法3 两种方法的简单对比4 opencv 最小面积矩形返回角度的理解4 1 version4 2之前4 2 version4 2之后 本文列举了两种方法 xff0c 使用的数据如图
  • Tensorflow pytorch及paddle交叉熵损失函数类标签及label smooth配置方法

    交叉熵损失函数类标签及label smooth配置方法 1 无class weight 无label smooth1 1 pytorch 输出1 2 paddle 输出1 3 tensorflow 输出 2 有label smooth 没有
  • 检测之YOLO转VOC

    文章目录 1 整理Yolo图像和标签文件2 实现yolo到voc的转换 检测系列相关文章参考如下链接 xff1a VOC数据的结构介绍及自定义生成 xff0c 用labelimg自已标注VOC标准数据的生成及分析 VOC易用labelimg
  • 检测之VOC转YOLO

    文章目录 检测所用数据有几种文件格式 xff0c 我们对于检测 xff0c 将使用VOC格式做为基础 xff0c 与其它格式的的互转实现部分如下 xff1a 检测系列相关文章参考如下链接 xff1a VOC数据的结构介绍及自定义生成 xff
  • windows安装wsl2

    总的来说是按照这三个链接来的 xff0c 也写了一个大体流程 wsl对win版本有要求 xff0c 可以 win 43 r winver查看 原始参考链接 xff1a 1 xff09 https zhuanlan zhihu com p 4
  • 2、picodet转onnx裁剪及python onnxruntime推理

    文章目录 1 对picodet xs1 1 动态图转静态图1 2 静态图转onnx1 3 paddle 含后处理 all 版本的推理1 4 onnx 含后处理 all 进行推理1 5 onnx 不含后处量 base模型推理1 5 1 获取o
  • 3、picodet c++版onnxruntime推理及reshape和transpose的c++实现

    文章目录 1 完整onnx c 43 43 推理2 裁剪后模型的推理2 1 分类reshape和transpose用python模拟c 43 43 2 2 回归的reshape和transpose的python模拟 3 softmax改进
  • linux拷备部分文件

    功能两个 1 从一个文件夹下拷备随机选取部分文件到另一个文件夹 span class token function ls span src path span class token operator span span class tok
  • 翻译:在vscode中调试es6

    原文 xff1a How to debug ES6 NodeJS with VSCode katopz Medium 快速实践 先上项目 xff1a katopz vscode debug nodejs es6 How to debug E