本地调试
本页介绍如何把开发中的微应用安装到迅雷里调试,以及常用的排查手段。
安装本地微应用
先在项目里启动开发服务:
bash
npm run dev然后在迅雷客户端的「微应用」页面,点击 「加载本地应用」,在目录选择器中选择 dist 目录(构建产物,内含 manifest.json),无需其它前置操作。
本地加载后即以开发者模式运行,开发体验与常规前端开发一致:页面改动通过 HMR 即时生效;仅当 manifest.json 变更(入口、窗口、权限、设置项等)时,需要重启开发服务,并在微应用管理中执行一次重载。
推荐工作流
保持 npm run dev 运行即可:页面改动 HMR 生效;manifest.json 变更时重启开发服务并在迅雷中重载。
发布前建议执行 npm run build(构建并校验生产产物),确认打包后的页面表现与开发态一致。
浏览器中预览页面
本地加载使用的就是 npm run dev 的开发服务,同一个地址也可以直接在浏览器里打开,调试布局与交互。但浏览器里没有 xunlei 对象,调用平台能力前需要判空:
ts
if (typeof xunlei !== 'undefined') {
await xunlei.tasks.create({ req: { url } });
} else {
console.warn('浏览器预览环境,平台能力不可用');
}平台相关的逻辑(任务、存储、事件)仍需回到迅雷中验证。
查看日志
在代码中使用 xunlei.logger 输出日志(见数据与日志)。日志由迅雷统一收集持久化,并带微应用标识前缀便于过滤;debug 级别日志只在本地加载(开发者模式)的微应用中输出,调试期可以放心使用。
调试面板
在迅雷客户端的 应用中心 → 我的应用 中打开应用的详细信息,通过 开发工具 → 打开 进入调试面板查看日志:

调试面板支持两种筛选方式:
- 按日志级别:
debug/info/warn/error; - 按微应用运行时:页面、事件脚本等各运行时的日志分开展示,便于定位输出来源。
入口仅限本地加载的应用
「开发工具」入口只在通过「加载本地应用」方式安装的应用中提供,其它方式安装的应用不显示该入口。排查非本地来源应用的日志时,可先在本地以加载本地应用的方式复现。
排查清单
打开微应用后页面空白
- 确认
npm run dev开发服务正在运行; - 检查
manifest.json的entry.url是否指向正确的入口文件; - 若刚修改过
manifest.json,先在微应用管理中执行重载再打开。
资源加载失败(样式 / 图片 / 脚本丢失)
- 远程 URL 资源会被拦截(
RESOURCE_BLOCKED),改为包内引用; - 检查资源引用路径是否正确。
网络请求失败 / 被拦截
manifest.permissions是否声明了"network",且network.urls覆盖了目标地址?见网络白名单;network.urls只接受主机/路径规则,例如wss://example.com/*;*://example.com/*可同时匹配该主机的 HTTP(S) 与 WS(S) 请求。<all_urls>和wss:*不能用于网络授权;tasks.create的下载地址、辅助 WebView 打开的页面不受白名单约束,无需为它们声明规则。
调用 API 报 PERMISSION_DENIED
- 对应 API 是否已在
manifest.permissions中声明?对照权限对照表; - 页面和事件脚本调用
xunlei.tasks.*都需声明对应任务权限;事件上下文中的控制方法无需额外任务权限。
事件脚本不触发
scripts[].match是否声明?urls/labels都未声明时脚本不参与匹配;- 匹配规则是否写对?对照URL 匹配规则;
- 脚本是否在加载后立即注册了回调(如
xunlei.events.onResolve(...))?事件脚本有时限约束(见钩子事件),超时会以EVENT_TIMEOUT失败; - 修改事件源码后,dev 服务会自动重建事件产物(公共依赖、Worker 变更也会触发重建),产物就绪后在宿主中重载应用再试。
下载行为没反应
- 浏览器原生下载(
<a download>等)被禁用,必须走xunlei.tasks.create(见下载规则)。
更多错误码见错误码。


