Ecosyste.ms: Awesome

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

https://github.com/ihtml5/mdebug

基于React开发的新一代web调试工具,支持React组件调试,类似于Chrome Devtools。A Lightweight, Easy To Extend Web Debugging Tool Build With React
https://github.com/ihtml5/mdebug

browser console cookie css devtools eruda es6 html5 inspector javascript mdebug mobile nodejs react tabs vconsole

Last synced: 9 days ago
JSON representation

基于React开发的新一代web调试工具,支持React组件调试,类似于Chrome Devtools。A Lightweight, Easy To Extend Web Debugging Tool Build With React

Lists

README

        

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



A Lightweight, Easy To Extend Web Debugging Tool Build With React CHANGELOG


Easy to use


Full-featured


Easy to expand


high performance




Use the cdn method, one-click access
Chrome devtools-like, built-in React developer tools, support log, network, element, proxy, storage, performance, etc., have better network capture capabilities and rich log display forms
Expose rich internal events, which can be seamlessly integrated with react components
Support large amount of data display, no lag


NPM Version
PRs
Node Version

## Demos

https://tnfe.github.io/mdebug

![image](https://user-images.githubusercontent.com/6822604/131059931-7efb7494-82fe-4a27-bd79-ed2bd9ce2c11.png)

## Examples

+ Vanilla

[![Edit crimson-sun-py8x7](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/crimson-sun-py8x7?fontsize=14&hidenavigation=1&theme=dark)

## Installation

#### Install using npm
```
npm install mdebug --save

```
## Useage

### 1. ES6
```javascript
import mdebug from 'mdebug';
mdebug.init();
```

### 2.CDN
```javascript
(function() {
var scp = document.createElement('script');
// Load the latest mdebug version
scp.src = 'https://unpkg.com/mdebug@latest/dist/index.js';
scp.async = true;
scp.charset = 'utf-8';
// Successfully loaded and initialized
scp.onload = function() {
mdebug.init();
};
// Load state switch callback
scp.onreadystate = function() {};
// Load failed callback
scp.onerror = function() {};
document.getElementsByTagName('head')[0].appendChild(scp);
})();
```
## API

### 1. init
```javascript
mdebug.init({
containerId: '' // mdebug mounts the container id, if it is empty, a unique id will be automatically generated internally,
plugins: [], // Incoming mdebug plugin
hideToolbar: [], // Pass in the tab id that needs to be hidden
});
```
### 2. addPlugin
```javascript
mdebug.addPlugin({
id: '', // tab id
name: '', // Chinese title corresponding to tab,
enName: '', // English title corresponding to tab
component: () => {}, // React component corresponding to tab
});
```

### 3. removePlugin
```javascript
// Support the id of the panel to be removed
/*
System => system;
Elements => elements;
Console => console
Application => application
NetWork => network
Performance => performance
Settings => settings
*/
mdebug.removePlugin([]);
```

### 4. exportLog
```javascript
/*
@returned {
type: '' // Log type
source: [], // Original log
}
@params type
// type is equal to log, return all console logs
// type is equal to net, return all net logs
*/
mdebug.exportLog(type);

```

### 5. on
```javascript
mdebug.on(eventName, callback);
```
### 6. emit
```javascript
mdebug.emit(eventName, data);
```

## Event list
| **Event name** | **params** | **Trigger timing** |
| ---------- | :-----------: | :-----------: |
| ready | object | mdebug loaded
| addTab | object | Add panel
| removeTab | array | Remove panel |
| changeTab | object | Panel switch|

## development

1. npm i
2. npm start
3. npm run build
## Projects
1. [eruda](https://github.com/liriliri/eruda)
2. [vConsole](https://github.com/Tencent/vConsole)
3. [react-json-tree](https://github.com/alexkuz/react-json-tree)
4. [React-based mobile debugging solution](https://github.com/abell123456/mdebug)
5. [a useful debugger for mobile](https://github.com/ghking1/mdebug)
6. [autoDevTools](https://github.com/chokcoco/autoDevTools)
7. [react-inspector](https://github.com/xyc/react-inspector)
8. [web-console](https://github.com/whinc/web-console)
9. [ChromeDevTools](https://github.com/ChromeDevTools/devtools-frontend)

## License
The MIT License (MIT). Please see [License File](./LICENSE) for more information.