创建React App Service Worker中默认忽略的url是firebase auth "__"
url的以下内容,它是这样完成的:
navigateFallbackWhitelist: [/^(?!\/__).*/]
**使用相同的负面Regex方法我尝试将以下内容添加到数组"/dynamicHosting"
:**
像这样:
navigateFallbackWhitelist: [/^(?!\/__).*/, /^(?!\/dynamicHosting).*/]
**
问题是服务工作者仍然一直在拦截路径
"/dynamicHosting"
因此200.html
我的默认navigateFallback文件呈现。而不是我服务器的动态html文件。
为什么ServiceWorker不忽略路径"/dynamicHosting"
。
我正在使用SW-Precache CLI而不从Create React App中弹出:
"build": "react-scripts build && sw-precache --config=sw-precache-config.js
sw-precache-config.js如下所示:
module.exports = {
staticFileGlobs: [
'./build/**/**.html',
'./build/images/**',
'./build/static/**',
'./build/manifest.json',
],
dontCacheBustUrlsMatching: /\.\w{8}\./,
swFilePath: './build/service-worker.js',
// For unknown URLs, fallback to the index page
navigateFallback: './200.html',
// Ignores URLs starting from /__ (useful for Firebase):
navigateFallbackWhitelist: [/^(?!\/__).*/, /^(?!\/dynamicHosting).*/],
staticFileGlobsIgnorePatterns: [/\.map$/, /asset-manifest\.json$/, /404\.html$/],
stripPrefix: './build'
}
更新
而不是逗号我必须像这样编写navigateFallbackWhitelist来组合正则表达式:
在以下更改后,它可以工作:
navigateFallbackWhitelist: [/^(?!\/__).*/+ "|" +/^(?!\/dynamicHosting).*/],