用途:为 Manifest V3 扩展开发提供零依赖热重载,源码变更时自动刷新扩展及已打开的扩展页面(选项页、弹窗等),无需手动在 chrome://extensions 重新加载。
主要能力:由服务端监听器与客户端监听两部分组成。监听器用 Node.js 原生 fs.watch 监控项目目录,并暴露 SSE 端点 /events,检测到文件变化时广播 reload 信号;客户端注入扩展的 background service worker,通过 EventSource 连接监听器,收到信号后刷新已打开的扩展标签页,再调用 chrome.runtime.reload() 刷新扩展本身。
使用方式:1)将示例文件复制到项目根目录或 tools/ 目录:examples/hot-reload-server.mjs -> hot-reload-server.mjs,examples/hot-reload-client.js -> hot-reload-client.js。2)在 background service worker(如 service-worker.js)首行加入 importScripts('hot-reload-client.js');。3)在 manifest.json 中加入 management 与 tabs 权限。4)在终端运行 node hot-reload-server.mjs 启动监听服务。
适用场景:本地开发 MV3 扩展时减少手动重载操作。
限制:资料未提供对非 MV3 扩展、其他浏览器或生产环境的支持说明;权限与端口等细节以实际项目为准,暂未提供更多配置项。