2017-06-07 23 views
5

तो मैं यह संक्षिप्त रखूंगा: स्थापित करने का प्रयास करते समय, मेरा सेवा कार्यकर्ता विफल रहता है। यह sw.js में मेरी कोड के सभी है: क्योंकि cacheundefined है (cache.addAll बिट पर)सेवा कार्यकर्ता इंस्टॉल विफल रहता है: "संपत्ति नहीं पढ़ी जा सकती है" सभी अनिर्धारित "

var cacheName = 'randomstring'; 
var filesToCache = [ '/' ]; 

self.addEventListener('install', function (e) { 
    console.log('[ServiceWorker] Install'); 
    e.waitUntil(
     caches.open(cacheName) 
      .then(function (cache) { 
       console.log('[ServiceWorker] About to fail'); 
       return cache.addAll(filesToCache); 
      }) 
    ); 
}); 

मैं एक अपवाद मिलता है।

वास्तव में यह सुनिश्चित नहीं है कि ऐसा क्यों है?

मैंने सेवा कार्यकर्ताओं का उपयोग पहले किया है और कभी भी इस मुद्दे का सामना नहीं किया है। यह पहली बार एक एएसपी.Net बैक-एंड के साथ एक सेवा कर्मचारी का उपयोग कर रहा है, तो सुनिश्चित नहीं है कि यह समस्या है या नहीं?

उत्तर

4

तो, मैंने इसे समझ लिया। मैं इस सवाल को बंद करने के लिए वोट देने जा रहा था, लेकिन मुझे लगा कि मैं इसे यहां छोड़ दूंगा क्योंकि मैंने इस मुद्दे के साथ कुछ अन्य लोगों को देखा था, जिन्हें यह नहीं पता था कि इसे कैसे हल किया जाए। भले ही यह सुपर बेवकूफ है :) (या अधिक सटीक, मैं हूं)।

तो मैं "प्ले" बटन, उर्फ ​​"स्टार्ट डिबगिंग" के माध्यम से वेबसाइट चला रहा था, जो विजुअल स्टूडियो 2017 में एक विशेष क्रोम विंडो लॉन्च करता है, जिसमें उपर्युक्त त्रुटि फेंक दी जाएगी।

डिबगिंग के बिना समस्या के समाधान, मैं (या आप भविष्य के इंटरनेट यात्री कर सकते हैं) बस शुरू कर सकते हैं, आदि IIS में वेबसाइट, होस्ट करने के लिए

संपादित करें: यदि कोई बेहतर समाधान का है, जहां मैं यह कर सकते हैं डीबग मोड में सेवा कार्यकर्ता का उपयोग करें, कृपया इसे सुझाव दें और मैं इसे उत्तर के रूप में चिह्नित करूंगा। हालांकि मेरी विशिष्ट समस्या के लिए, उपरोक्त कामकाज ठीक है :)।

1

एक ही समस्या उत्पन्न हुई और कुछ अन्य तरीकों को मिला।

वीएस डीबगिंग करते समय "chrome.exe" को पहचानता है और कुछ पैरामीटर जोड़ता है, यही कारण है कि सेवा कर्मचारी काम नहीं कर रहे हैं।

एक विकल्प डीबग => विकल्प => डिबगिंग => सामान्य => एएसपीनेट (क्रोम और यानी) के लिए जावास्क्रिप्ट डिबगिंग सक्षम करें। यदि आप बनाम जेएस डीबगिंग का उपयोग नहीं करना चाहते हैं, क्योंकि मैं जेएस डीबगिंग के लिए क्रोम का उपयोग करता हूं - बस इस विकल्प को निष्क्रिय करें और सेवा कर्मचारी काम करेंगे। VS Enable JS Debugging in Chrome

वैकल्पिक रूप से आप क्रोम को एक नए "ब्राउज़र" के रूप में जोड़ सकते हैं और ब्राउज़र को डिबगिंग के लिए स्विच कर सकते हैं। क्योंकि बनाम "chrome.exe" को प्रशासक कमांडलाइन "mklink chromedirect.exe chrome.exe" के माध्यम से एक सिम्लिंक बनाते हैं और इसे दृश्य स्टूडियो में नया ब्राउज़र के रूप में जोड़ें।

यह "प्ले" संदर्भ मेनू => ब्राउज़ करें के तहत किया जा सकता है। VS Play Context Menu

किसी भी तर्क के बिना chromedirect.exe जोड़ें और "Google क्रोम डायरेक्ट" जैसे दोस्ताना नाम जोड़ें। इसके बाद आप ब्राउज़र पर स्विच कर सकते हैं और अगर आप वीएस जेएस डिबगिंग चाहते हैं या नहीं चुन सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे