之前写项目一直都是console.log()来调试的,浪费了很多时间,现在整理一下用vscode对nuxt(vue)前后端进行调试的方法

前端的调试

chrome+launch

使用chrome调试,模式为launch。不多说,直接上图











当执行到到的位置就会出现

chrome+attach

使用chrome调试,模式为attach,跟launch的区别是不会打开新的浏览器窗口





然后启动调试,之后马上切换到chrome,让vscode的调试程序可以“粘上”到你的项目

chrome自带

使用chrome自带的调试,在代码中加入debugger关键字即可

后端调试

node+attach

与上面前端的attach方法几乎一样,区别是chorme换成了node,只贴几个重要的图









debugger和编辑器打的小红点都是可以触发的

优点是基本不怎么用配置,缺点是每次启动都要attach一下

node直接启动

后面几种都是直接launch的方法,第一种为node直接启动的方法,如图

然后修改launch.json文件吧下面位置的路径改成你的项目启动入口



然后需要在后面加上,"console": "integratedTerminal",如果不加的话启动调试的时候看不见打包进度。而且,需要自动重启的话要再加上"runtimeExecutable": "nodemon",当然,前提是装了nodemon

这种方法适合不需要编译就可以直接运行的项目,而且需要知道入口文件的位置,不适合typescript项目。

npm脚本调试

添加配置的时候选择通过npm启动,如图



修改配置,其中端口号随意,并非项目的端口号



再修改pakage.json,添加--inspect,注意这个参数需要放在入口文件之前,否则会提示连不上端口的错误。

针对typescript

除了下面两种方法,使用前面的attach方法也是可以的,配置非常简单,推荐使用。

    1. Tsconfig.json中添加或设置"sourceMap": true

    2. 创建launch.json,如果根目录下有tsconfig.json,vscode会生成如图的代码

    3. 然后command+shift+p查找task,或者在首选项设置里面找,点击配置task



      拉到最下面,找到构建的那几项,如果有tsconfig.build.json一般就选这个,没有就选tsconfig.json



      修改tas.json文件



      修改launch.json文件





      执行结果

  • 针对typescript第二种方法

    这里主要参考https://segmentfault.com/a/1190000011935122

    直接使用ts-node,和直接使用node调试js项目类似。

    1. 安装ts-node,npm i ts-node

    2. 创建launch.json,选择node,上面有这里不再赘述。

    3. 修改launch.json如图



      其中args表示ts-node后面的参数,这里只填了当前文件

      program选择ts-node的启动文件

    4. 切换到项目入口文件,直接启动调试。

    这种方法优点是不需要自行编译ts文件,缺点是要多装一个包,需要知道入口文件位置,而且不能热启动

总结

上面的方法基本覆盖了js项目大部分的比较常用的调试方法,而且本人全部测试过。前端的调试有chrome这个神器,非常简单,后端使用vscode的attach的方法基本可以应付所有的框架项目。

总结vscode调试vue,nodejs的各种方法的更多相关文章

  1. VsCode调试vue项目

    VsCode调试vue项目 VsCode如何调试vue项目,VsCode需要安装插件以及配置launch.json文件. 找到"扩展"或者按快捷键"Ctrl+Shift+ ...

  2. 四、VSCode调试vue项目

    1.先决条件设置 你必须安装好 Chrome 和 VS Code.同时请确保自己在 VS Code 中安装了 Debugger for Chrome 扩展的最新版本. 在可以从 VS Code 调试你 ...

  3. 如何用VSCode调试Vue.js

    VS Code相关插件:Chinese (Simplified) Language Pack for Visual Studio Code Debugger for Chrome ESLint Vet ...

  4. vscode 调试vue.js程序

    npm install -g vue-cli                //安装vue-clivue init webpack projectName  //创建项目 1.Ctrl+~ 打开命令行 ...

  5. [原创]使用vscode+es6写nodejs服务端调试配置

    前端的小伙伴们在babel等的加持下,已经可以愉快的使用es6来写代码了. 然后对于服务端的nodejs就有点坑爹了,虽然原生支持了es6,但是只是部分支持,一些不支持的特性(比如module)使用了 ...

  6. Vue 项目 VSCode 调试

    调试Vue搭建的前端项目 在项目根目录下的vue.config.js中添加: module.exports = { lintOnSave: false, //关闭eslint语法校验 //填写这部分 ...

  7. vscode调试js,安装了nodejs之后还出现无法在Path上找到运行时的node

    vscode 调试js,安装了nodejs之后还出现无法在Path上找到运行时的node. 重启vscode解决

  8. 使用vscode调试Nodejs

    之前想用vscode调试nodejs,总是不成功,也走很多弯路,现在记录下来. 首先新建一个文件夹,用vscode打开这个文件夹, 用vscode自带的终端执行npm init,输入名称,其他的可不输 ...

  9. 保姆级教程:VsCode调试docker中的NodeJS程序

    最近在写NodeJS相关的项目,运行在docker容器中,也是想研究一下断点调试,于是查阅相关资料,最终顺利配置好了. 首先我选择了VsCode作为ide,并用VsCode来做NodeJS可视化deb ...

随机推荐

  1. iOS UIViewController的瘦身计划

    代码的组织结构,以及为何要这样写. 那些场景适合使用子控制器,那些场景应该避免使用子控制器? 分离UITableView的数据源和UITableViewDataSource协议. MVVM的重点是Vi ...

  2. Python学习笔记:set集合类型所有方法汇总

    ################################################## 集合的作用是:# 1.获得两个集合之间某种关系的集合(比如求两个集合的交集)# 2.计算集合之间的 ...

  3. java单元/集成测试中使用Testcontainers

    1.Testcontainers介绍: Testcontainers是一个Java库,它支持JUnit测试,提供公共数据库.SeleniumWeb浏览器或任何可以在Docker容器中运行的轻量级.一次 ...

  4. LVS 集群与存储《路由转发》

                                                             LVS 集群与存储<路由转发> 集群简介 u 什么是集群 •  一组通过高 ...

  5. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  6. 【php】面向对象(五)

    一. 类型约束: a) 约束函数可传入的参数类型二. 类的遍历 a) Foreach b) 可以将类当中的所有成员属性遍历出来三. 关于操作类与对象的一些函数: a) 判断函数 i. Function ...

  7. 【PHP】数组

    一.生活中的数组: a)    教室的座位:第一天来教室的时候,每个座位上都有自己的一个名字,我们可以通过这个名字快速定位到自己的座位在什么位置! b)    电影院的座位:我们买了电影票之后,能够通 ...

  8. AntSword 中国蚁剑的下载安装配置(附下载文件)

    文章更新于:2020-04-11 按照惯例,需要的文件附上链接放在文首. 文件一: antSword-2.1.8.1.zip.7z 文件大小: 14.3 MB 下载链接: 中国蚁剑 v2.1.8.1 ...

  9. docker、docker-compose安装,卸载

    docker win10安装 一.安装 https://www.docker.com/docker-windows 二.设置 控制面板-->程序-->Hyper-V linux安装: ht ...

  10. Linux管理,例行性工作,at和cron

    at 仅执行一次就结束调度(服务atd必须启动) at的配置信息 1.我们设定的at进程其实都是被以文本的方式写入到/var/spool/at/目录内,然后这些设定的进程便会等待atd服务来启动这些进 ...