【发布时间】:2021-12-17 22:23:18
【问题描述】:
当使用工作箱后台同步插件时,我必须创建一个路由来捕获请求。但我想捕获所有包含 /api/
的网址来自Documentation 这是默认的正则表达式//api/./.json/
registerRoute(
/\/api\/.*\/*.json/,
new NetworkOnly({
plugins: [bgSyncPlugin]
}),
'POST'
);
正则表达式将匹配https://example.com /api/test.json
我试图这样做以匹配所有在 url 中包含 /api/ 的 url 例如:
https://example.com/api/user/add/ 和 https://somethingelse.com/api/todo/add/
但出于某种原因,当我这样做时:
registerRoute(
new RegExp(/.*\/api\/.*/),
new NetworkOnly({
plugins: [bgSyncPlugin]
}),
'POST'
);
后台同步插件无法捕获发布请求。我不明白为什么它不起作用,正则表达式在regex101 中测试时确实匹配
为什么工作箱后台同步插件无法在https://example.com/api/users/ 上与new RegExp('.*\/api\/.*/') 一起使用
我也确认这是问题所在。当专门匹配我的域 url 时,它可以工作。
【问题讨论】:
标签: progressive-web-apps service-worker workbox workbox-webpack-plugin