Workbox कमांड लाइन इंटरफ़ेस (जो
workbox-cli
पैकेज) में वर्कबॉक्स नाम का Node.js प्रोग्राम होता है, जो
Windows, macOS, और UNIX-कंपैटिबल कमांड लाइन से चलाया जा सकता है
पर्यावरण को ध्यान में रखते हुए काम करना. हुड के तहत, Workbox-cli में वर्कबॉक्स-बिल्ड मॉड्यूल को रैप किया जाता है,
और यह किसी कमांड लाइन बिल्ड में Workbox को इंटिग्रेट करने का आसान तरीका मुहैया कराता है
सुविधाजनक कॉन्फ़िगरेशन के साथ प्रोसेस.
सीएलआई इंस्टॉल करें
नोड वाला सीएलआई इंस्टॉल करने के लिए, अपने टर्मिनल में यहां दिया गया कमांड चलाएं:
npm install workbox-cli --global
सीएलआई मोड
सीएलआई में चार अलग-अलग मोड होते हैं:
wizard
: अपने प्रोजेक्ट के लिए Workbox सेट अप करने के सिलसिलेवार निर्देश.generateSW
: आपके लिए एक पूरा सर्विस वर्कर जनरेट करता है.injectManifest
: आपके प्रोजेक्ट में प्रीकैश मेमोरी के लिए ऐसेट इंजेक्ट करता है.copyLibraries
: Workbox लाइब्रेरी को डायरेक्ट्री में कॉपी करें.
wizard
Workbox विज़र्ड में, आपकी लोकल डायरेक्ट्री के बारे में कई सवाल पूछे जाते हैं
सेटअप करती है और कौन-सी फ़ाइलें आप पूर्व-कैश मेमोरी में सेव करना चाहते हैं. आपके जवाब इन कामों के लिए इस्तेमाल किए जाते हैं
एक कॉन्फ़िगरेशन फ़ाइल जनरेट करता है, जिसका इस्तेमाल तब किया जा सकता है, जब
generateSW
मोड.
ज़्यादातर डेवलपर को वर्कबॉक्स विज़र्ड सिर्फ़ एक बार चलाना होगा और जनरेट होने वाली शुरुआती कॉन्फ़िगरेशन फ़ाइल को मैन्युअल तौर पर कस्टमाइज़ करने के लिए, इसके लिए, सपोर्ट करने वाले बिल्ड कॉन्फ़िगरेशन विकल्पों में से किसी एक का इस्तेमाल करें.
विज़र्ड को रन करना शुरू करने के लिए:
npx workbox-cli wizard
generateSW
इसका इस्तेमाल करके एक पूरा सर्विस वर्कर जनरेट करने के लिए, Workbox सीएलआई का इस्तेमाल किया जा सकता है कॉन्फ़िगरेशन फ़ाइल (जैसे कि विज़र्ड से जनरेट की गई फ़ाइल.)
बस नीचे दिया गया निर्देश चलाएं:
npx workbox-cli generateSW path/to/config.js
ऐसे डेवलपर जो Workbox में पहले से मौजूद, पहले से कैश मेमोरी में सेव होने और रनटाइम को कैश मेमोरी में सेव करने की सुविधा से खुश हैं
उन्हें सर्विस वर्कर के काम करने के तरीके को अपने हिसाब से बनाने की ज़रूरत नहीं होती.
generateSW
मोड का इस्तेमाल करने का सुझाव दिया जाता है.
generateSW
का इस्तेमाल कब करना चाहिए
- आपको फ़ाइलों को प्रीकैश मेमोरी में सेव करना हो.
- आपको रनटाइम के दौरान कैश मेमोरी में सेव करने की सामान्य ज़रूरतें पूरी करनी होती हैं.
generateSW
का इस्तेमाल कब न करें
- आप अन्य सर्विस वर्कर सुविधाओं (जैसे वेब पुश) का इस्तेमाल करना चाहते हैं.
- आपको अतिरिक्त स्क्रिप्ट इंपोर्ट करनी हैं या पसंद के मुताबिक कैश मेमोरी में सेव करने की रणनीतियों के लिए, अतिरिक्त लॉजिक जोड़ना है.
injectManifest
उन डेवलपर के लिए जो अपनी फ़ाइनल सर्विस वर्कर फ़ाइल पर ज़्यादा कंट्रोल चाहते हैं
injectManifest
मोड का इस्तेमाल कर सकते हैं. इस मोड का मतलब है कि आपके पास
मौजूदा सर्विस वर्कर फ़ाइल (जिसकी जगह की जानकारी config.js में दी गई है).
workbox injectManifest
के चलने पर, वह किसी खास स्ट्रिंग को ढूंढता है
आपके स्रोत में (डिफ़ॉल्ट रूप से precacheAndRoute(self.__WB_MANIFEST)
)
सर्विस वर्कर फ़ाइल में सेव किया गया था. यह खाली अरे को
सर्विस वर्कर फ़ाइल को प्रीकैश मेमोरी में सेव करता है और उस पर
गंतव्य स्थान, config.js
में कॉन्फ़िगरेशन विकल्पों के आधार पर.
आपके सोर्स सर्विस वर्कर में मौजूद बाकी कोड में कोई बदलाव नहीं किया गया है.
इस मोड में Workbox का इस्तेमाल इस तरह किया जा सकता है:
npx workbox-cli injectManifest path/to/config.js
injectManifest
का इस्तेमाल कब करना चाहिए
- आपको अपने सर्विस वर्कर पर ज़्यादा कंट्रोल चाहिए.
- आपको फ़ाइलों को प्रीकैश मेमोरी में सेव करना हो.
- आपको रूटिंग और रणनीतियां अपने मुताबिक बनानी होंगी.
- आप अपने सर्विस वर्कर का इस्तेमाल अन्य प्लैटफ़ॉर्म की सुविधाओं (जैसे, वेब पुश) के साथ करना चाहते हैं.
injectManifest
का इस्तेमाल कब न करें
- आप अपनी साइट पर सर्विस वर्कर को जोड़ने के लिए सबसे आसान पाथ चाहते हैं.
copyLibraries
यह मोड तब उपयोगी होता है, जब आपको injectManifest
का इस्तेमाल करना हो और
के बजाय, अपनी साइट के ऑरिजिन पर होस्ट की गई Workbox लाइब्रेरी फ़ाइलों का इस्तेमाल करना पसंद करें
सीडीएन का इस्तेमाल करना है.
आपको बस इसे ऐसे पाथ के साथ चलाना होगा जिस पर फ़ाइलें भेजी जा सकें:
npx workbox-cli copyLibraries third_party/workbox/
बिल्ड प्रोसेस इंटिग्रेशन
Workbox को मेरी बिल्ड प्रोसेस के साथ इंटिग्रेट करने की ज़रूरत क्यों है?
Workbox प्रोजेक्ट में कई लाइब्रेरी होती हैं जो एक साथ काम करती हैं अपने वेब ऐप्लिकेशन को बेहतर बनाएं सर्विस वर्कर. कार्रवाई करने के लिए उन लाइब्रेरी का बेहतर ढंग से इस्तेमाल करते हैं, तो Workbox को बनाने की प्रोसेस पर निर्भर करता है. इससे यह पक्का होता है कि आपका सर्विस वर्कर अपने वेब ऐप्लिकेशन के सभी ज़रूरी कॉन्टेंट को बेहतर तरीके से प्रीकैश मेमोरी में सेव कर सकते हैं. साथ ही, कॉन्टेंट को अप-टू-डेट रखें.
क्या मेरी बिल्ड प्रोसेस के लिए workbox-cli
सही विकल्प है?
अगर आपके पास कोई ऐसी मौजूदा बिल्ड प्रोसेस है जो पूरी तरह से
एनपीएम स्क्रिप्ट,
तो workbox-cli
अच्छा विकल्प है.
अगर अभी webpack का इस्तेमाल बिल्ड के तौर पर किया जा रहा है, तो टूल का इस्तेमाल करें, फिर workbox-webback-plugin का इस्तेमाल करें एक बेहतर विकल्प है.
अगर Gulp का इस्तेमाल किया जा रहा है, तो Grunt या Node.js पर आधारित कोई दूसरा बिल्ड टूल है, इसके बाद, अपनी बिल्ड स्क्रिप्ट में workbox-build को इंटिग्रेट करें एक बेहतर विकल्प है.
अगर आपके पास बिल्ड प्रोसेस करने की कोई ज़रूरत नहीं है, तो आपको एक ऐसेट बनानी चाहिए अपने किसी भी एसेट को प्रीकैश करने के लिए Workbox का इस्तेमाल करने से पहले. ट्राइंग वर्कबॉक्स-क्ली को मैन्युअल रूप से चलाना याद रखने से गड़बड़ी होने की संभावना हो सकती है और हो सकता है कि आप भूल जाएं चलाने के लिए क्योंकि आपकी वेबसाइट पर वापस आने वाले लोगों को पुरानी सामग्री दिखाई जा सकती है.
सेटअप और कॉन्फ़िगरेशन
workbox-cli
को डेवलपमेंट के तौर पर इंस्टॉल करने के बाद
यह आपके लोकल प्रोजेक्ट पर निर्भर करता है. इसलिए, आप इस नंबर पर workbox
को कॉल कर सकते हैं
आपकी मौजूदा बिल्ड प्रोसेस की npm स्क्रिप्ट का अंत:
Package.json की मदद से:
{
"scripts": {
"build": "my-build-script && workbox <mode> <path/to/config.js>"
}
}
<mode>
को generateSW
या injectManifest
से बदलें (इस हिसाब से)
आपके उपयोग के उदाहरण पर) और <path/to/config.js>
के साथ
कॉन्फ़िगर करें. शायद आपका कॉन्फ़िगरेशन बना दिया गया है
workbox wizard
से अपने-आप या मैन्युअल तरीके से बदला गया.
कॉन्फ़िगरेशन
generateSW
ने इन विकल्पों का इस्तेमाल किया
कॉन्फ़िगरेशन के विकल्पों का पूरा सेट इस रेफ़रंस दस्तावेज़ में मिल सकता है.
injectManifest
ने इन विकल्पों का इस्तेमाल किया
कॉन्फ़िगरेशन के विकल्पों का पूरा सेट इस रेफ़रंस दस्तावेज़ में मिल सकता है.