ऐप ऑनलाइन होने पर चीजें ठीक काम कर रही हैं, मैं पृष्ठों के बीच नेविगेट कर सकता हूं और फाइलों को ठीक से कैश किया जा रहा है। लेकिन जब मैं ब्राउज़र को ऑफ़लाइन करता हूं, तो ऐप लोड नहीं होता है।

मुझे यह त्रुटि मिलती है:

This site can’t be reached
The web page at http://localhost:8080/ might be temporarily down or it may 
have moved permanently to a new web address.
ERR_FAILED

कंसोल में मुझे यह त्रुटि मिलती है:

The FetchEvent for "http://localhost:8080/" resulted in a network error 
response: the promise was rejected.
Promise.catch (async)
workbox.precaching.moduleExports.addRoute.self.addEventListener.event @ 
workbox-precaching.dev.js:1085
sw.js:1 Uncaught (in promise) TypeError: Failed to fetch

मुझे लगता है कि आखिरी पंक्ति अपराधी है, किसी भी तरह से इसकी प्रीकैच मेनिफेस्ट फ़ाइल लोड नहीं हो रही है:

importScripts("precache-manifest.2e5a7cbc2c0451bb1e36932f58b5075b.js", "https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js");

Precache मेनिफेस्ट फ़ाइल ऑनलाइन होने पर, sw.js फ़ाइल श्रेणी के अंतर्गत स्रोत -> नेटवर्क टैब में कंसोल में दिखाई देती है। तो मुझे लगता है कि किसी भी तरह से यह फ़ाइल कैश नहीं है या ऐप ऑफ़लाइन होने पर सहेजा नहीं गया है। मैंने वेबपैक ट्यूटोरियल का अनुसरण किया है और मुझे ऐसा कुछ भी नहीं मिला जो precache-manifest फ़ाइल को संग्रहीत करने के लिए कहे। वह फ़ाइल एप्लिकेशन टैब (कंसोल) में भी दिखाई नहीं देती है -> कैश -> कैश स्टोरेज -> माय-ऐप-रनटाइम (या प्रीकेड वर्जन)

1
pizzae 23 मई 2018, 03:41

1 उत्तर

सबसे बढ़िया उत्तर

सर्विस वर्कर विनिर्देश बताता है कि importScripts() के माध्यम से प्राप्त किए गए URL को स्पष्ट रूप से कैश किया जाना है ("स्क्रिप्ट संसाधन मानचित्र", इसलिए आपको यह सुनिश्चित करने के लिए कोई कदम नहीं उठाना चाहिए कि precache-manifest.2e5a7cbc2c0451bb1e36932f58b5075b.js ऑफ़लाइन रहते हुए उपलब्ध है।

importScripts() यूआरएल कैश स्टोरेज एपीआई के अलावा किसी अन्य तंत्र के माध्यम से कैश किए जाते हैं, इसलिए वे कैश स्टोरेज व्यूअर में दिखाई नहीं देंगे।

मुझे लगता है कि यह एक और संसाधन है जिसे आपका सेवा कार्यकर्ता लाने की कोशिश कर रहा है और असफल हो रहा है, लेकिन आपकी पूरी सेवा कार्यकर्ता स्क्रिप्ट को देखे बिना, यह जानना मुश्किल है कि वह क्या है।

1
Jeff Posnick 24 मई 2018, 23:13