一些内置插件会对外暴露一些公共方法,以便特殊用途。例如:
vConsole.log.info()
如果未加载插件,那么其实例对象及方法都会是 undefined
,使用前需要注意:
vConsole = new VConsole({ defaultPlugins: ['system'] }); // 未加载 network 插件
vConsole.network.clear(); // Error: network is undefined
如同 console.log()
系列方法,可用的有:
vConsole.log.log(...)
vConsole.log.info(...)
vConsole.log.debug(...)
vConsole.log.warn(...)
vConsole.log.error(...)
与直接调用 console.log()
不同,日志仅会输出到 Log 面板,而不会输出到原始的浏览器 console 里。
清空 Log 面板的所有日志,类似 console.clear()
。
无。
void
与 vConsole.log.log()
一致,只不过日志会输出到 System 面板。
清空 System 面板的所有日志。
无。
void
输出一个自定义 request 请求到 Network 面板。
vConsole.network.add(item: VConsoleNetworkRequestItem): VConsoleNetworkRequestItemProxy
item: VConsoleNetworkRequestItem
: 自定义的 Request 对象。
interface VConsoleNetworkRequestItem {
// HTTP method
method: '' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'HEAD' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
// 完整的 URL,如: https://www.abc.com/foo?a=b
url: string;
// HTTP 状态码,如: 200
status: number | string;
// XMLHttpRequest.readyState
readyState?: XMLHttpRequest['readyState'];
// Response header, KV 键值对
header: { [key: string]: string };
// XMLHttpRequest.responseType
responseType?: XMLHttpRequest['responseType'];
// 'xhr': XMLHttpRequest, 'custom': 自定义请求
requestType: 'xhr' | 'fetch' | 'ping' | 'custom';
// 对应 `XMLHttpRequest.setRequestHeader()` 或 fetch 的 headers
requestHeader?: HeadersInit;
// 回包的内容
response: any;
// 时间戳
startTime: number;
// 时间戳
endTime: number;
// Query string parameters,KV 键值对或 JSON 字符串
getData?: { [key: string]: string } | null;
// Request payload,KV 键值对或 JSON 字符串
postData?: { [key: string]: string } | string | null;
}
VConsoleNetworkRequestItemProxy
调用 add()
方法后,会返回一个新的对象,其内容继承于刚刚传入的 VConsoleNetworkRequestItem
对象,并且会增改部分属性值。
interface VConsoleNetworkRequestItemProxy extends VConsoleNetworkRequestItem {
// 内部 id,用于后续 update() 方法
id: string;
// 原始 response 会被尝试转成 JSON 字符串,若不成功则保持为原始值
response: string | any;
// 耗时,等于 endTime - startTime
costTime?: number;
}
更新一个自定义请求。
vConsole.network.update(id: string, item: VConsoleNetworkRequestItem | VConsoleNetworkRequestItemProxy)
id: string
: 内部 id,可通过vConsole.network.add()
的返回值获取。item: VConsoleNetworkRequestItem | VConsoleNetworkRequestItemProxy
: 自定义的 Request 对象。
void
注意:
直接修改 VConsoleNetworkRequestItemProxy.response
的属性值将不会奏效。
如果你想更新 response
的内容,需要重新赋值整个对象。
const item = vConsole.network.add({
response: { foo: 'bar' },
... // 其他字段
});
item.response.foo = 'newbar'; // 不生效,response 不会有变化
item.response = { foo: 'newbar' }; // 有效
vConsole.network.update(item.id, item);
清空 Network 面板的所有记录。
无。
void