प्रतिक्रिया जेएस में सेवा कार्यकर्ता क्या है


95

प्रतिक्रिया ऐप बनाते समय, सेवा कार्यकर्ता को डिफ़ॉल्ट रूप से आमंत्रित किया जाता है। सेवा कार्यकर्ता का उपयोग क्यों किया जाता है? डिफ़ॉल्ट इनवॉइस करने का क्या कारण है?

जवाबों:


108

आपको अपने आवेदन के लिए सेवा कार्यकर्ता की आवश्यकता नहीं हो सकती है। यदि आप create-react-app के साथ एक प्रोजेक्ट बना रहे हैं तो यह डिफ़ॉल्ट रूप से लागू होता है

इस लेख में सेवाकर्मियों को अच्छी तरह समझाया गया है । इससे संक्षेप में

service workerएक स्क्रिप्ट है जो आपका ब्राउज़र पृष्ठभूमि में चलता है, एक वेब पेज से अलग होता है, उन सुविधाओं के लिए द्वार खोलता है जिन्हें वेब पेज या उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है। आज, वे पहले से ही push notificationsऔर जैसी सुविधाओं को शामिल करते background syncहैं ability to intercept and handle network requests, जिसमें शामिल हैं programmatically managing a cache of responses

भविष्य में, सेवा कर्मचारी अन्य चीजों का समर्थन कर सकते हैं जैसे periodic syncया geofencing

इस पीआर के अनुसार प्रतिक्रिया-अनुप्रयोग बनाने के लिए

Service workersके माध्यम से बनाने के साथ शुरू कर रहे हैं प्रतिक्रिया-अनुप्रयोग SWPrecacheWebpackPlugin

कैश-पहली रणनीति के साथ एक सर्वर कार्यकर्ता का उपयोग प्रदर्शन लाभ प्रदान करता है, क्योंकि नेटवर्क अब नेविगेशन अनुरोधों को पूरा करने के लिए एक अड़चन नहीं है। हालांकि, इसका मतलब यह है कि डेवलपर्स (और उपयोगकर्ता) केवल पृष्ठ पर "एन + 1" यात्रा पर तैनात अपडेट देखेंगे, क्योंकि पहले से कैश किए गए संसाधन पृष्ठभूमि में अपडेट किए गए हैं।

register service workerनए ऐप में डिफ़ॉल्ट रूप से कॉल को सक्षम किया गया है लेकिन आप इसे हमेशा हटा सकते हैं और फिर आप नियमित व्यवहार पर वापस आ सकते हैं।


2
अब के लिए के रूप में उत्पन्न reactjs एप्लिकेशन को कोड है, लेकिन टिप्पणी है कि रजिस्टर समारोह नहीं कहा जाता है। तो सवाल यह है कि मैं इसे कहां से कह सकता हूं?
डैनियल यित्सकोव

@ DaneelS.Yaitskov, आप इसे शीर्ष-स्तरीय index.js फ़ाइल या समान पर कॉल कर सकते हैं।
सिद्धार्थ

1
@ सिद्धार्थ क्या आप एक ठोस उदाहरण देने के लिए पर्याप्त हो सकते हैं, और शायद उत्तर को अपडेट करें? मुझे यह बहुत उपयोगी लगा, लेकिन उन अंतिम विवरणों को याद कर रहा हूं। धन्यवाद।
टेड स्ट्रैसेन-रेउटर

19

सरल और सादे शब्दों में, यह एक स्क्रिप्ट है जो ब्राउज़र पृष्ठभूमि में चलता है और जिसका वेब पृष्ठों या DOM के साथ कोई संबंध नहीं है, और जो बॉक्स सुविधाएँ प्रदान करता है। यह आपको अपनी संपत्ति और अन्य फ़ाइलों को कैश करने में भी मदद करता है ताकि जब उपयोगकर्ता ऑफ़लाइन हो या धीमे नेटवर्क पर।

इनमें से कुछ सुविधाएँ नेटवर्क अनुरोध, पुश सूचनाएँ और पृष्ठभूमि सिंक हैं। सेवा कार्यकर्ता यह सुनिश्चित करते हैं कि उपयोगकर्ता के पास एक समृद्ध ऑफ़लाइन अनुभव है।

आप सेवा कर्मी के बारे में सोच सकते हैं क्योंकि कोई व्यक्ति जो क्लाइंट और सर्वर के बीच बैठता है और सर्वर से किए गए सभी अनुरोध सेवा कार्यकर्ता से गुजरते हैं। मूल रूप से, एक मध्यम व्यक्ति। चूंकि सभी अनुरोध सेवा कार्यकर्ता के माध्यम से गुजरते हैं, यह मक्खी पर इन अनुरोधों को रोकना सक्षम है।

यहां छवि विवरण दर्ज करें


7

मैं सेवा श्रमिकों के बारे में 2 महत्वपूर्ण विचार जोड़ना चाहूंगा:

  1. सेवाकर्मियों को HTTPS की आवश्यकता होती है। लेकिन स्थानीय परीक्षण को सक्षम करने के लिए, यह प्रतिबंध लागू नहीं होता है localhost। यह सुरक्षा कारणों से है क्योंकि सेवा कार्यकर्ता वेब एप्लिकेशन और सर्वर के बीच में एक आदमी की तरह काम करता है।

  2. साथ प्रतिक्रिया बनायें अनुप्रयोग जब चल सेवा कार्यकर्ता केवल उत्पादन वातावरण में सक्षम किया गया है, उदाहरण के लिए npm run build

सेवा कार्यकर्ता यहाँ एक प्रगतिशील वेब ऐप विकसित करने में मदद करने के लिए है । क्रिएट रिएक्ट ऐप के संदर्भ में इसके बारे में एक अच्छा संसाधन उनकी वेबसाइट में पाया जा सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.