查看页面加载的资源版本
通过浏览器开发者面板
- 打开浏览器开发者面板的「Network」/「网络请求」标签页;
- 勾选「Disable cache」/「禁用缓存」选项,保持请求最新资源内容;
- 在过滤输入框中输入「rc.index.js」;
- 网络请求列表中仅展示来自资源中心加载的资源;
- 选择其中一条「rc.index.js」静态文件的请求;
- 进入「Preview」/「响应预览」标签页,并滑动至文件尾部;
- 查看「WEBPACK_CHUNK_KEY」为前缀的内容,其中版本号即加载的资源的版本号;
页面中调试资源
调试方式
Chrome浏览器启用开发者模式,并进入「console」控制台面板。
输入 window['resource-center'].keys()
脚本,打印当前页面的资源缓存数据表,内容包含:资源SDK内置基础数据、当前页面已加载的资源
输入 window['resource-center'].get(KEY).value
(KEY
为示例,具体键名以实际情况为准)脚本,打印指定键名对应的值
如果当前页面为乾坤(Qiankun)微前端子应用,则需要在 window
的节点后增加 proxy
节点。形如: window.proxy['resource-center'].keys()
如果在当前页面中无法找到 window['resource-center']
节点,则说明该页面已打开或启动的模块未包含资源中心的资源内容。
资源SDK内置基础数据说明
字段名称 | 数据类型 | 说明 |
---|---|---|
resource-center-CURRENT_TAB_RESOURCE_CENTER_CONTEXT |
Record<string, any> |
获取当前标签页资源共享的所有依赖信息 |
resource-center-ROOT_APP_CONTROLLER |
{ name: string } |
获取当前标签页根宿主应用信息 |
resource-center-RESOURCE_CENTER_MONITOR |
{ monitor: any; status?: 'start' | 'stop'; } |
获取当前标签页资源监控实例信息 |
查看资源依赖共享示例
window['resource-center'].get("resource-center-CURRENT_TAB_RESOURCE_CENTER_CONTEXT").value
{
// 该资源共享出来的依赖包名称
[resourceDepName: string]: {
// 该资源共享出来的依赖版本
// 如果为0,则为默认版本,当前标签页资源的共享依赖未指定版本时,统一使用该版本的共享依赖
[resourceDepVersion: string]: {
// 该版本共享依赖来自于哪个资源模块
from: string;
// 该版本共享依赖是否在系统启动时就需要被加载
eager: boolean;
// 该版本共享依赖是否已经被加载
loaded?: 1 | 0;
// 该版本共享依赖的获取方法
get: () => any;
}
}
}
查看资源根宿主应用示例
window['resource-center'].get("resource-center-ROOT_APP_CONTROLLER").value
{
// 当前标签页根宿主应用资源名称
// 一旦确定了根宿主,则所有该页面的资源,监控记录资源需求方时,都会是该根宿主资源
name: string;
}
查看监控实例示例
window['resource-center'].get("resource-center-RESOURCE_CENTER_MONITOR").value
{
// 当前标签页资源监控唯一实例,目前监控来自「万象监控」
monitor: any;
// 当前监控实例的状态
status?: 'start' | 'stop';
}
当前页面已加载的资源
字段名称 | 数据类型 | 说明 |
---|---|---|
resource-center-资源名称 |
{ versions: Record<string, any> } |
获取当前标签页加载的资源信息 |
示例及说明
{
// 当前资源版本集合信息
versions: {
// 引入资源时所配置的版本号,如一直保持最新版本则键名为 latest
[resourceVersion: string]: {
// 获取该资源指定的导出内容
// exposeName 为该资源的导出键名,可在资源管理系统中查看
get: (exposeName: string) => Promise<any>;
// 通过指定的共享域数据重新初始化该资源
// ⚠️注意!该方法建议普通开发者不要在代码中使用,否则会导致资源运行过程异常!
// webpackShareScope 为指定的共享域数据对象
init: (webpackShareScope: any) => void;
}
}
}
作者:袁子涵 创建时间:2023-02-06 19:35
最后编辑:袁子涵 更新时间:2025-04-18 15:27
最后编辑:袁子涵 更新时间:2025-04-18 15:27