서비스 작업자 생성을 위해 workbox 2.1.0을 사용하고 있으며 서버의 assets 디렉토리 (index.html과 clear.png)와 CDN의 한 파일에서 일부 파일을 미리 캐시해야합니다 (예 : https://akamai.com/dummy/path/app.js). 건물을 짓기 위해 꿀꺽 꿀꺽 마시고 있습니다. 코드가workbox 2.1.0의 프리 캐시와 관련된 문제
gulp.task('sw',() => {
return wbBuild.generateSW({
globDirectory: '.',
swDest: 'sw_gulp_generated.js',
staticFileGlobs: [
'index.html',
'clear.png'
],
verbose: true,
})
.then(() => {
console.log('Service worker generated.');
})
.catch((err) => {
console.log('[ERROR] This happened: ' + err);
});
});
그래서가는 방법이있다이 잘 작동하고, 생성 된 서비스 노동자가 모두 미리 캐시 목록에서 파일이 여기 간다 :
const fileManifest = [
{
"url": "index.html",
"revision": "b6eb7cd7599ed6584a715cdfc75a81c0"
},
{
"url": "clear.png",
"revision": "e17de36d2c2ddf7b068892fa4678cd31"
},
];
const workboxSW = new self.WorkboxSW();
workboxSW.precache(fileManifest);
//more code follows ...
내가 테스트하고 완벽하게
작동이제 질문은입니다. 세 번째 자산 (https://akamai.com/dummy/path/app.js)을 프리 캐시 목록에 추가하려면 어떻게합니까? 나는 staticFileGlobs
에 넣어 시도하지만 오류 아웃 말하는 :
One of the glob patterns doesn't match any files
를 분명히이 globDirectory
내부의 파일 https://akamai.com/dummy/path/app.js을 찾기 위해 시도하고 그것을 찾을 수 있기 때문입니다.
기본적으로 꿀꺽 꿀꺽하면서 (또는 모든 빌드 도구) 사용하면서 생성 된 서비스 작업자의 프리 캐시 목록에 어떻게 CDN URL을 삽입 할 수 있습니까?
는 내가 미리 캐시 목록에 https://akamai.com/dummy/path/app.js를 포함하도록 생성 된 서비스 노동자를 편집했는데, 그것은 'const를 fileManifest = [{ "URL을"일 "b6eb7cd7599ed6584a715cdfc75a81c0"}, { "URL": "https://akamai.com/dummy/path/app.js ", "개정 ":"577cd1b1345e3676cc5a4e2acce85191 "}, "개정 "을"index.html을 " { "URL": "clear.png" "수요일 수정": "e17de36d2c2ddf7b068892fa4678cd31"}] workboxSW = CONST 새로운 self.WorkboxSW(); WO rkboxSW.precache (fileManifest); ' Gulp 빌드 과정에서 어떻게 달성 할 수 있을까요? –