मैं एक सर्वर साइड विकसित अनुप्रयोग के साथ विकसित पर्यावरण के webpackसाथ काम करना शुरू कर रहा हूं । मैं देव और ठेस (रनटाइम) वातावरण के लिए प्रत्येक वेबपैक पैकेज की भूमिका के बारे में बहुत उलझन में हूं।node/expressReactJSreact-router
यहाँ मेरी समझ का सारांश है:
webpack: एक पैकेज है, एक वेब अनुप्रयोग के विभिन्न टुकड़ों को एक साथ जोड़ने के लिए एक टूल है और फिर एकल .js फ़ाइल (सामान्य रूप से bundle.js) में बंडल है । परिणाम फ़ाइल को तब एप्लिकेशन द्वारा लोड किए जाने के लिए एक ठंढे वातावरण में परोसा जाता है और इसमें कोड को चलाने के लिए सभी आवश्यक घटक होते हैं। सुविधाओं में सिकुड़ना कोड, छोटा करना आदि शामिल हैं।
webpack-dev-server: एक पैकेज है जो वेबसाइट फ़ाइलों को संसाधित करने के लिए एक सर्वर प्रदान करता है । यह bundle.jsक्लाइंट घटकों से एक .js फ़ाइल ( ) भी बनाता है, लेकिन इसे मेमोरी में कार्य करता है। इसमें -hotसभी बिल्डिंग फ़ाइलों की निगरानी करने और कोड परिवर्तन के मामले में मेमोरी में एक नया बंडल बनाने का विकल्प ( ) भी है । सर्वर को सीधे ब्राउज़र में दिया जाता है (उदा:) http:/localhost:8080/webpack-dev-server/whatever। मेमोरी लोडिंग, हॉट प्रोसेसिंग और ब्राउज़र सर्विंग का संयोजन उपयोगकर्ता को कोड को बदलने पर एप्लिकेशन को अपडेट करने देता है, जो विकास के वातावरण के लिए आदर्श है।
यदि मुझे उपरोक्त पाठ के बारे में संदेह है, तो मैं नीचे दी गई सामग्री के बारे में निश्चित नहीं हूं, इसलिए यदि आवश्यक हो तो मुझे सलाह दें
एक सामान्य समस्या यह है कि सर्वर का उपयोग webpack-dev-serverकरते समय, node/expressजैसा कि webpack-dev-serverहोता है node/express। यह इस वातावरण को क्लाइंट और कुछ नोड / एक्सप्रेस कोड (एक एपीआई आदि) दोनों को चलाने के लिए मुश्किल बनाता है। नोट: यह वही है जो मैंने सामना किया है, लेकिन यह समझने में बहुत खुशी होगी कि अधिक विवरणों में ऐसा क्यों होता है ...
webpack-dev-middleware: यह एक webpack-dev-serverमिडवेयरवेयर है जिसमें समान कार्य (इनममोरी बंडलिंग, हॉट रीलोडिंग) होते हैं, लेकिन प्रारूप में जिसे server/expressएप्लिकेशन को इंजेक्ट किया जा सकता है । इस तरह, आपके पास एक तरह का सर्वर ( webpack-dev-server) इनसाइड नोड सर्वर होता है। उफ़: क्या यह एक पागल सपना है ??? यह टुकड़ा देव और ठेस समीकरण को कैसे हल कर सकता है और जीवन को सरल बनाता है
webpack-hot-middleware: यह ... यहाँ अटक गया ... खोजने पर यह टुकड़ा मिला webpack-dev-middleware... इसका उपयोग करने का कोई विचार नहीं है।
ENDNOTE: क्षमा करें, कोई गलत सोच है। मुझे वास्तव में एक जटिल वातावरण में इन वेरिएंट को कम करने के लिए मदद की आवश्यकता है। यदि संयोजक हैं, तो कृपया अधिक पैकेज / डेटा जोड़ें जो पूरे परिदृश्य का निर्माण करेगा।
webpack-dev-middleware(और संभवतःwebpack-hot-middleware) इसका उपयोग करेंगे । जब तक कोई विशिष्ट विशेषताwebpack-dev-serverनहीं है जो आप चाहते हैं कि आपके पास नहीं है, तो आपको बस उसका उपयोग करना चाहिए।