An open API service indexing awesome lists of open source software.

https://github.com/grinzero/node-network-devtools

Inspecting Node.js's Network with Chrome DevTools✨
https://github.com/grinzero/node-network-devtools

browser chrome chrome-devtools chrome-devtools-protocol devtools inspect inspector javascript monitor network node nodejs

Last synced: 6 months ago
JSON representation

Inspecting Node.js's Network with Chrome DevTools✨

Awesome Lists containing this project

README

          





Node Network Devtools

🔮 让node程序支持用chrome devtool的network选项卡调试


🦎 等同于浏览器的爬虫体验


⚙️ Powered by CDP



NodeJs
Chrome
TypeScript

---

[English](README.md) | 简体中文

## 📖 介绍

如你所见,添加`--inspect`选项打开的node程序并不支持network标签,因为它不去代理用户请求。
node network devtools正是为了解决这个问题,它一个允许您使用chrome devtools的network选项卡调试nodejs发出的请求,让debugger过程等同于浏览器中的网络爬虫体验。

## 🎮 TODO

- [x] HTTP/HTTPS
- [x] req/res headers
- [x] payload
- [x] json str response body
- [x] binary response body
- [x] stack follow
- [x] show stack
- [x] click to jump
- [x] base
- [x] Sourcemap
- [x] WebSocket
- [x] messages
- [x] payload
- [x] headers
- [ ] Compatibility
- [x] commonjs
- [x] esmodule
- [ ] Bun
- [ ] Undici
- [ ] undici.request
- [x] undici.fetch

## 👀 预览

![img](https://github.com/GrinZero/node-network-devtools/assets/70185413/5338d8f2-bb54-46fd-b243-a7a5b4af3031)

## 📦 快速开始

### 1. 安装

```bash
# npm
npm install node-network-devtools -D
# or pnpm
pnpm add node-network-devtools -D
# or yarn
yarn add node-network-devtools -D
```

### 2. Usage

只需将以下代码添加到项目的入口文件中即可。

```typescript
import { register } from 'node-network-devtools'

process.env.NODE_ENV === 'development' && register()
```

如果需要停止调试网络请求并消除副作用,只需使用 `register` 方法的返回值进行清理。

```typescript
import { register } from 'node-network-devtools'

const unregister = register()
unregister()
```