概述`URLPattern` 提供原生的模式匹配能力,用于在 SW 或应用层进行路径、主机与查询参数的匹配与捕获,替代脆弱的正则解析。实践示例const apiPattern = new URLPattern({ pathname: '/api/:resource' }) self.addEventListener('fetch', (event) => { const url = new URL(event.request.url) if (apiPattern.test(url)) { const { pathname } = url // 根据资源类型分流缓存策略 if (pathname.endsWith('/list')) { event.respondWith(staleWhileRevalidate(event.request)) } else { event.respondWith(networkFirst(event.request)) } } }) 验证方法使用模式捕获参数并断言缓存策略执行分支;在不同路径下检查策略命中与回退。注意事项Firefox 对 URLPattern 的支持不完整,需回退正则或路由库;确保不影响核心功能。

发表评论 取消回复