当前位置: 首页 > news >正文

前端调试2

一、用chrome调试(node.js)

例:

const fs = require('fs/promises');(async function() {const fileContent = await fs.readFile('./package.json', {encoding: 'utf-8'});await fs.writeFile('./package2.json', fileContent);
})();

1.先 node index.js 跑一下:
2.然后以调试模式启动,加个 --inspect-brk 参数:
node --inspect-brk ./index.js
--inspect 是以调试模式启动,--inspect-brk 是以调试模式启动并且在首行断住。
3.调试的服务端如上图:红色勾划部分

接下来用Chrome对nodejs进行调试:

  1. 打开 chrome://inspect/#devices,下面列出的是所有可以调试的目标,也就是 ws 服务端:

node 调试服务默认是跑在 9229 端口,但是也可以换

只要把它的端口加入到配置里就可以了:

  1. 点击inspect就可以进行调试

二、用VsCode调试(node.js)

1、

2、

3、

首行断住,可以加一个 stopOnEntry 的配置:

4、就可以调试了

三、九种JS作用域

  • Global 作用域: 全局作用域,在浏览器环境下就是 window,在 node 环境下是 global

  • Local 作用域:本地作用域,或者叫函数作用域

  • Script 作用域:let、const 声明的全局变量会保存在 Script 作用域,这些变量可以直接访问,但却不能通过 window.xx 访问

  • 模块作用域:其实严格来说这也是函数作用域,因为 node 执行它的时候会包一层函数,算是比较特殊的函数作用域,有 module、exports、require 等变量

  • Catch Block 作用域: catch 语句的作用域可以访问错误对象

  • With Block 作用域:with 语句会把传入的对象的值放到单独的作用域里,这样 with 语句里就可以直接访问了

  • Closure 作用域:函数返回函数的时候,会把用到的外部变量保存在 Closure 作用域里,这样再执行的时候该有的变量都有,这就是闭包。eval 的闭包比较特殊,会把所有变量都保存到 Closure 作用域

  • Eval 作用域:eval 代码声明的变量会保存在 Eval 作用域

http://www.lryc.cn/news/4929.html

相关文章:

  • AlphaFold 2 处理蛋白质折叠问题
  • 问卷调查会遇到哪些问题?怎么解决?
  • 量化选股——基于动量因子的行业风格轮动策略(第1部分—因子测算)
  • 工作常用git命令
  • test3
  • 领证啦,立抵3600,软考证书到手后还有很多作用
  • 响应式布局之viewport-超级简单
  • 分布式计算考试资料
  • Java修饰符和运算符,超详细整理,适合新手入门
  • 软件功能测试包含了哪些测试项目?功能测试报告收费标准
  • Netty 学习笔记——概念篇
  • 元宇宙开始告别以资本为主导的野蛮生长,新的竞争格局和态势将形成
  • MySQL 5:MySQL视图
  • 中国干细胞医疗行业市场规模及未来发展趋势
  • SpringBoot日志文件
  • R语言读取Excel表格数据并绘制多系列柱状图、条形图
  • 【操作系统】操作系统IO技术底层机制和ZeroCopy
  • 给你的边框加点渐变
  • 【目标检测】如何使用Yolov8
  • NVM安装、配置环境、简单使用
  • 【SPSS】数据预处理基础教程(附案例实战)
  • 某饿了么APP最新版逆向分析(二):加密参数初探
  • 程序的编译与链接(预处理详解)+百度面试笔试题+《高质量C/C++编程指南》笔试题
  • 全解析 ESM 模块语法,出去还是进来都由你说了算
  • MATLAB 粒子群算法
  • java微信小程序音乐播放器分享系统
  • VS各版本VC各版本对应关系
  • 如何处理“WLAN没有有效的IP配置”这一问题?
  • ElasticSearch-学习笔记05【SpringDataElasticSearch】
  • 【GlobalMapper精品教程】045:空间操作(2)——相交(Intersect)