В Service Worker я пытаюсь импортировать другой вспомогательный скрипт, используя importScripts, однако я получаю Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'http://localhost:5000/src/js/utility.js' failed to load.
У меня есть следующий код в Service Worker:
importScripts('../src/js/utility.js');
workbox.routing.registerRoute(/.*(?:jsonplaceholder\.typicode)\.com.*$/, function(args){
console.log('Json placeholder being called');
// Send request to the server.
return fetch(args.event.request)
.then(function(res){
// Clone the response obtained from the server.
var clonedRes = res.clone();
// Clear data stored in the posts store.
clearAllData('posts') // Function from helper file
.then(function(){
return clonedRes.json()
})
.then(function(data){
for(var key in data){
// Write the updated data to the posts store.
writeData('posts', data[key]) // Function from helper file
}
});
return res;
})
});
workbox.precaching.precacheAndRoute(self.__precacheManifest);
А в utility.js
у меня есть следующий код:
import { openDB } from 'idb';
export function writeData(st, data){
console.log(st, data);
}
export function clearAllData(st){
console.log(st);
}
Функции пока ничего не делают, но даже эти заполнители не работают!В конце концов я хотел бы иметь возможность использовать модуль idb
npm, поэтому я делаю это в качестве помощника, поэтому я также могу использовать его из моего обычного файла Javascript.
Также я использую Webpack для сборки своих файлов, и в другом проекте, где я его не использую, он работает нормально, однако в этом он просто не находит файл после сборки, поэтому я думаю,Webpack может что-то испортить.
Заранее спасибо:)