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);
}
関数はまだ何も実行しませんが、これらのプレースホルダーも機能しません! 最終的には npm モジュールを使用できるようにしたいidb
ので、ヘルパーでこれを行っているので、通常の Javascript ファイルからも使用できます。
また、Webpack を使用してファイルをビルドしていますが、使用していない別のプロジェクトでは正常に動作しますが、このプロジェクトではビルド後にファイルが見つからないため、Webpack が何かを台無しにします。
前もって感謝します :)