有没有办法使用sw-precache
, 来缓存您当前所在的 url 而无需在 中准确指定 url 字符串dynamicUrlToDependencies
?当我提供特定的相对 url 时,我的页面会缓存/dynamic/url-circle
,但如果我只提供/
. 我假设发生这种情况是因为我的网址是http://localhost:3000/dynamic/url-circle,而不仅仅是http://localhost:3000/。我需要它适用于任何 url 字符串,因为我不知道dynamic/
(例如/dynamic/url-triangle
,/dynamic/url-square
)之后的确切 url。是否有任何抽象或字符串模式可用于dynamicUrlToDependencies
?或者我可以使用其他解决方案吗?
前任:
dynamicUrlToDependencies: {
'/dynamic/url-circle': [ 'public/dist/css/dynamic.css', 'public/dist/js/dynamic.js' ],
'/': [ 'public/dist/css/dynamic.css', 'public/dist/js/dynamic.js' ],
},
这是我sw-precache
在 Gruntfile 中的设置:
const rootDir = 'public'
const config = {
cacheId: version,
handleFetch: true,
logger: grunt.log.writeln,
staticFileGlobs: [
`${rootDir}/dist/js/*.{css,js}`,
`${rootDir}/dist/css/*.{css,js}`,
`${rootDir}/dist/offline.html`,
],
dynamicUrlToDependencies: {
'/dynamic/url-circle': [ 'public/dist/css/dynamic.css', 'public/dist/js/dynamic.js' ],
'/': [ 'public/dist/css/dynamic.css', 'public/dist/js/dynamic.js' ],
},
stripPrefix: `${rootDir}/`,
directoryIndex: 'dist/offline.html',
navigateFallback: 'dist/offline.html',
verbose: true,
maximumFileSizeToCacheInBytes: 15 * 1024 * 1024, // 15MB
};