Create React App Service Worker 中默认忽略的 url 对于 firebase auth "__"
url 如下,它是这样完成的:
navigateFallbackWhitelist: [/^(?!\/__).*/]
**使用相同的负正则表达式方法,我尝试将以下内容添加到数组中"/dynamicHosting"
:**
像这样:
navigateFallbackWhitelist: [/^(?!\/__).*/, /^(?!\/dynamicHosting).*/]
**
问题是Service Worker仍然不断拦截路径
"/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).*/],