मैं एक सर्वर साइड विकसित अनुप्रयोग के साथ विकसित पर्यावरण के webpack
साथ काम करना शुरू कर रहा हूं । मैं देव और ठेस (रनटाइम) वातावरण के लिए प्रत्येक वेबपैक पैकेज की भूमिका के बारे में बहुत उलझन में हूं।node/express
ReactJS
react-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
नहीं है जो आप चाहते हैं कि आपके पास नहीं है, तो आपको बस उसका उपयोग करना चाहिए।