diff --git a/README.en.md b/README.en.md index c2283c3..f416696 100644 --- a/README.en.md +++ b/README.en.md @@ -143,7 +143,7 @@ mdebug.emit(eventName, data); ## development - +node v1 1. npm i 2. npm start 3. npm run build diff --git a/docs/index.html b/docs/index.html index d94cbfd..a9b91a4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,71 +1,14 @@ -mdebug

基于React开发的移动web调试工具 更新日志

简单易用

功能全面

易扩展

高性能

使用cdn方式,一键接入类Chrome devtools, 内嵌React开发者工具,支持日志,网络,元素,代理,存储,性能等, 具有更好的网络捕获能力和丰富的日志展现形式暴露内部丰富的事件, 可以和react组件无缝进行集成支持大数据量展示, 不卡顿
NPM VersionPRsNode Version

一、快速体验

https://tnfe.github.io/mdebug

二、Installation

Install using npm

-npm install mdebug --save
-

三、Useage

1.ES6

-  import mdebug from 'mdebug';
-  mdebug.init();
-

2.CDN

-(function() {
-    var scp = document.createElement('script');
-    // 加载最新的mdebug版本
-    scp.src = 'https://new.inews.gtimg.com/tnews/9d243fb8/a1f8/9d243fb8-a1f8-4bf7-9047-dfa01d8c9ca0.js';
-    scp.async = true;
-    scp.charset = 'utf-8';
-    // 加载成功并初始化
-    scp.onload = function() {
-        mdebug.init();
-    };
-    // 加载状态切换回调
-    scp.onreadystate = function() {};
-    // 加载失败回调 
-    scp.onerror = function() {};
-    document.getElementsByTagName('head')[0].appendChild(scp);
-})();
-

四、API

1.init

-mdebug.init({
-    containerId: '' // mdebug挂载容器id, 如果传空, 内部会自动生成一个不重复的id,
-    plugins: [], // 传入mdebug插件
-    hideToolbar: [], // 传入需要隐藏的tab id
-});
-

2.addPlugin

-mdebug.addPlugin({
-    id: '', // tab id
-    name: '', // tab对应的中文title,
-    enName: '', // tab对应的英文title
-    component: () => {}, // tab对应的react组件
-});
-

3.removePlugin

-// 支持移除的panel对应的id
-/*
-System => system;
-Elements => elements;
-Console => console
-Application => application
-NetWork => network
-Performance => performance
-Settings => settings
-*/
-mdebug.removePlugin([]);
-

4.exportLog

-/*
-@returned {
-  type: '' // 日志类型
-  source: [], // 原始日志
-}
-@params type
-// type等于log, 返回所有的console日志
-// type等于net, 返回所有的net日志
-*/
-mdebug.exportLog(type);
-

5.on

-mdebug.on(eventName, callback);
-

6.emit

-mdebug.emit(eventName, data);
-

五、事件列表

事件名称

数据

触发时机

readyobjectmdebug加载完毕
addTabobject增加面板
removeTabarray移除面板
changeTabobject面板切换

六、开发

  1. npm i
  2. npm start // 启动开发
  3. npm run build //打包

七、Articles

  1. 移动端前端开发调试
  2. Chrome 开发者工具

八、Projects

  1. eruda
  2. vConsole
  3. react-json-tree
  4. 基于React的移动端调试解决方案
  5. a useful debugger for mobile
  6. autoDevTools
  7. react-inspector
  8. web-console
  9. ChromeDevTools

九、License

The MIT License (MIT). Please see License File for more information.

testXHR
+ // } \ No newline at end of file diff --git a/docs/index.js b/docs/index.js index 2ee014a..aa5adfe 100644 --- a/docs/index.js +++ b/docs/index.js @@ -1,2 +1,2 @@ -// v2.0.2 Fri Sep 17 2021 20:34:37 GMT+0800 (China Standard Time) by Mdebug Team. Released under the MIT License. -!function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports.mdebug=t():e.mdebug=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=123)}([function(e,t,n){"use strict";e.exports=n(130)},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"k",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"f",(function(){return l})),n.d(t,"g",(function(){return s})),n.d(t,"h",(function(){return c})),n.d(t,"i",(function(){return u})),n.d(t,"d",(function(){return d})),n.d(t,"e",(function(){return f})),n.d(t,"c",(function(){return p})),n.d(t,"j",(function(){return m})),n.d(t,"l",(function(){return h}));var r="undefined"!==typeof navigator&&"string"===typeof navigator.userAgent,o=Object.prototype.toString,a=Object.prototype.hasOwnProperty,i=function(e){return"[object Array]"===o.call(e)},l=function(e){return"[object Object]"===o.call(e)},s=function(e){return"[object PerformanceTiming]"===o.call(e)},c=function(e){return"string"===typeof e},u=function(e){return"undefined"===typeof e},d=function(e){return"function"===typeof e},f=function(e){return"number"===typeof e},p=function(e){return"[object Error]"===o.call(e)},m=function(e){return"[object XMLHttpRequest]"===o.call(e)},h=function(){}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(50);var o=n(44);function a(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(o.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"a",(function(){return i})),n.d(t,"g",(function(){return l})),n.d(t,"f",(function(){return s})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return u}));var r=[{name:"\u7cfb\u7edf",enName:"System",id:"mdebugSystem",alias:"system"},{name:"\u5143\u7d20",enName:"Elements",id:"mdebugElements",alias:"elements"},{name:"\u65e5\u5fd7",enName:"Console",id:"mdebugConsole",alias:"console"},{name:"\u7f51\u7edc",enName:"Network",id:"mdebugNetwork",alias:"network"},{name:"\u5b58\u50a8",enName:"Application",id:"mdebugApplication",alias:"application"},{name:"React",enName:"React",id:"mdebugReact",alias:"react"},{name:"\u68c0\u6d4b",enName:"Detection",id:"mdebugDetection",alias:"detection"},{name:"\u6027\u80fd",enName:"Performance",id:"mdebugPerformance",alias:"performance"},{name:"\u4ee3\u7406",enName:"Proxy",id:"mdebugProxy",alias:"proxy"},{name:"\u8bbe\u7f6e",enName:"Settings",id:"mdebugSettings",alias:"settings"},{name:"\u5173\u4e8e",enName:"About",id:"mdebugAbout",alias:"about"}],o={url:{zh:"\u9875\u9762\u5730\u5740",en:"URL"},ua:{zh:"\u6d4f\u89c8\u5668\u6807\u793a",en:"UA"}},a=function(e){return e?o[String(e).toLowerCase()]:""},i={all:{zh:"\u6240\u6709",en:"all"},log:{zh:"\u666e\u901a",en:"log",color:"#000"},info:{zh:"\u901a\u77e5",en:"info",color:"#6a5acd"},warn:{zh:"\u8b66\u544a",en:"warn",color:"orange"},error:{zh:"\u9519\u8bef",en:"error",color:"#dc143c"},debug:{zh:"\u8c03\u8bd5",en:"debug",color:"#000"},trace:{zh:"\u8ffd\u8e2a",en:"trace",color:"#000"}},l=[],s=[],c=["LocalStorage","SessionStorage","Cookie"],u=["emonitor","timing"]},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;n=0&&c.splice(t,1)}function h(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function v(e,t){var n,r,o,a;if(t.transform&&e.css){if(!(a="function"===typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=a}if(t.singleton){var i=s++;n=l||(l=h(t)),r=y.bind(null,n,i,!1),o=y.bind(null,n,i,!0)}else e.sourceMap&&"function"===typeof URL&&"function"===typeof URL.createObjectURL&&"function"===typeof URL.revokeObjectURL&&"function"===typeof Blob&&"function"===typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=_.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=A.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!==typeof DEBUG&&DEBUG&&"object"!==typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"===typeof t.attrs?t.attrs:{},t.singleton||"boolean"===typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=f(e,t);return d(n,t),function(e){for(var o=[],a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){"use strict";var r=n(171)(!0);n(101)(String,"String",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=l(n(22)),o=l(n(0)),a=l(n(8)),i=l(n(30));function l(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t){var n=e.name,a=e.dimmed,l=e.styles,s=t.theme,c=(0,i.default)("ObjectName",s),u=(0,r.default)({},c.base,a?c.dimmed:{},l);return o.default.createElement("span",{style:u},n)};s.propTypes={name:a.default.string,dimmed:a.default.bool},s.defaultProps={dimmed:!1},s.contextTypes={theme:a.default.oneOfType([a.default.string,a.default.object])},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(25)),o=s(n(22)),a=s(n(0)),i=s(n(8)),l=s(n(30));function s(e){return e&&e.__esModule?e:{default:e}}var c=function(e,t){var n=e.object,i=e.styles,s=t.theme,c=(0,l.default)("ObjectValue",s),u=function(e){return(0,o.default)({},c[e],i)};switch("undefined"===typeof n?"undefined":(0,r.default)(n)){case"number":return a.default.createElement("span",{style:u("objectValueNumber")},String(n));case"string":return a.default.createElement("span",{style:u("objectValueString")},'"',n,'"');case"boolean":return a.default.createElement("span",{style:u("objectValueBoolean")},String(n));case"undefined":return a.default.createElement("span",{style:u("objectValueUndefined")},"undefined");case"object":return null===n?a.default.createElement("span",{style:u("objectValueNull")},"null"):n instanceof Date?a.default.createElement("span",null,n.toString()):n instanceof RegExp?a.default.createElement("span",{style:u("objectValueRegExp")},n.toString()):Array.isArray(n)?a.default.createElement("span",null,"Array["+n.length+"]"):n.constructor?"function"===typeof n.constructor.isBuffer&&n.constructor.isBuffer(n)?a.default.createElement("span",null,"Buffer["+n.length+"]"):a.default.createElement("span",null,n.constructor.name):a.default.createElement("span",null,"Object");case"function":return a.default.createElement("span",null,a.default.createElement("span",{style:u("objectValueFunctionKeyword")},"function"),a.default.createElement("span",{style:u("objectValueFunctionName")},"\xa0",n.name,"()"));case"symbol":return a.default.createElement("span",{style:u("objectValueSymbol")},n.toString());default:return a.default.createElement("span",null)}};c.propTypes={object:i.default.any},c.contextTypes={theme:i.default.oneOfType([i.default.string,i.default.object])},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findInArray=function(e,t){for(var n=0,r=e.length;n1;return t.map((function(t){return e.formate(t)})).map((function(e,t){return s.a.createElement("div",{className:m.a.mdebugConsoleMultiValue,key:t,style:{borderBottom:n?"1px solid #eee":void 0,paddingBottom:n?"3px":void 0}},n?s.a.createElement("div",{className:m.a.mdebugConsoleIndexValue},s.a.createElement("div",{className:m.a.mdebugConsoleIndex},t+1,"."),s.a.createElement("div",null,e)):e)}))}return null}}]),n}(l.PureComponent);t.a=h},function(e,t,n){var r=n(136);"string"===typeof r&&(r=[[e.i,r,""]]);var o={sourceMap:!1,hmr:!0,transform:undefined,insertInto:void 0};n(15)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},function(e,t,n){var r=n(235);"string"===typeof r&&(r=[[e.i,r,""]]);var o={sourceMap:!1,hmr:!0,transform:undefined,insertInto:void 0};n(15)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var n,l,s=i(e),c=1;c1&&"boolean"!==typeof t)throw new i('"allowMissing" argument must be a boolean');var n=S(e),r=n.length>0?n[0]:"",a=k("%"+r+"%",t),l=a.name,c=a.value,u=!1,d=a.alias;d&&(r=d[0],_(n,A([0,1],d)));for(var f=1,p=!0;f=n.length){var b=s(c,m);c=(p=!!b)&&"get"in b&&!("originalValue"in b.get)?b.get:c[m]}else p=y(c,m),c=c[m];p&&!u&&(h[l]=c)}}return c}},function(e,t,n){"use strict";var r=n(145);e.exports=Function.prototype.bind||r},function(e,t,n){"use strict";var r=String.prototype.replace,o=/%20/g,a="RFC1738",i="RFC3986";e.exports={default:i,formatters:{RFC1738:function(e){return r.call(e,o,"+")},RFC3986:function(e){return String(e)}},RFC1738:a,RFC3986:i}},function(e,t,n){var r=n(160);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(41);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(78)("keys"),o=n(54);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(19),o=n(27),a="__core-js_shared__",i=o[a]||(o[a]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(53)?"pure":"global",copyright:"\xa9 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(32),o=n(173),a=n(79),i=n(77)("IE_PROTO"),l=function(){},s=function(){var e,t=n(95)("iframe"),r=a.length;for(t.style.display="none",n(174).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" +