मैं एक प्रतिक्रिया घटक विकसित कर रहा हूं और मैं इसे एनपीएम पर प्रकाशित करना चाहता हूं, लेकिन घटक के साथ-साथ स्टेटिक्स संपत्तियों (जैसे सीएसएस और छवियों) को वितरित करने के तरीके पर मुझे कोई भी सर्वोत्तम प्रथा नहीं मिल सका। खैर, निश्चित रूप से सभी स्रोतों को सादे जेएस और सादे सीएसएस में पारदर्शी किया जाना चाहिए। जेएस के मामले में सबकुछ सरल है - उपयोगकर्ता को केवल उस बंडलर के साथ इसकी आवश्यकता होगी जो वह उपयोग कर रहा है। लेकिन सीएसएस के मामले में यह मुश्किल है। मैं इनलाइन शैलियों का उपयोग नहीं करना चाहता क्योंकि मैं चाहता हूं कि घटक आसानी से अनुकूलन योग्य हो (सीएसएस ओवरराइडिंग द्वारा)। तो, मुझे लगता है कि एकमात्र तरीका है कि उपयोगकर्ता को code फ़ाइल को node_modules से कॉपी करने के लिए कहें जहां उसे इसकी आवश्यकता है (या SASS या किसी अन्य प्रीप्रोसेसर के साथ आयात करें)। लेकिन क्या होगा अगर मेरी सीएसएस फ़ाइल में अन्य स्थैतिक संपत्तियों (जैसे छवियों, फोंट इत्यादि) के संदर्भ हों? मुझे लगता है कि पथ पूरी तरह से गड़बड़ हो जाएगा। तो, मुझे दिलचस्पी है कि ऐसा करने का सही तरीका क्या है? उपयोगकर्ता को उपभोग करने के लिए और सामान्य नुकसान से कैसे बचें इसे आसान बनाना है?स्थिर संपत्तियों के साथ प्रतिक्रिया घटक को एनपीएम में कैसे प्रकाशित करें?
उत्तर
यह वास्तव में एक अच्छा सवाल है। मुझे यकीन नहीं है कि मेरा जवाब वह है जो आप उम्मीद कर रहे हैं (यह तकनीकी से अधिक दार्शनिक होगा), लेकिन मुझे लगता है कि यह एक अच्छा प्रारंभिक बिंदु है।
सबसे पहले, मुझे लगता है कि ऐसा करने का कोई "सही तरीका" नहीं है। एक पैकेज की कल्पना करें (यह एक एकल व्यक्ति टीम हो सकती है) पैकेज को बनाए रखने के तरीके, जिस तरह से वे चीजों को नाम देते हैं वह वही तरीका है जो उन्हें समझ में आता है, और यह "सही तरीका" है। इसलिए, नामकरण के लिए कोई "मानक" नहीं है, चीजों को नाम दें जिस तरह से आपको लगता है कि यह सही है और आप जाने के लिए अच्छे हैं।
अब, आईएमएचओ, जो लोग आपके पैकेज का उपयोग करेंगे, उन्हें चिंता करने के बारे में चिंता करनी चाहिए, न कि आप। चूंकि व्यक्ति आपके पैकेज से उपयोग करने के लिए या नहीं, और वे इसका उपयोग कैसे करना चाहते हैं, इसके बारे में विकल्प चुन सकते हैं।
उदाहरण के लिए, यदि वेबपैक का उपयोग करते हैं, तो हम url-loader
का उपयोग करने में सक्षम हैं, जो हमें यूआरएल समस्या का समाधान करेगा।
यदि वेबपैक का उपयोग नहीं करते हैं, तो आप क्या कर सकते हैं अपने पैकेज के बारे में एक सतत दस्तावेज प्रदान करते हैं, और इसका उपयोग कैसे करें। आपके उपयोगकर्ता इसका इच्छित टूल का उपयोग करके इसका पालन करेंगे। यदि आपके उपयोगकर्ता अपने वर्कफ़्लो में grep
और sed
का उपयोग करना चाहते हैं, तो यह ठीक है, क्योंकि वे इसके नियंत्रण में हैं।
इसके अलावा - अब विशेष रूप से सीएसएस के बारे में बात करना - अगर आप छवियों का उपयोग करने वाली शैलियों को प्रदान करना चाहते हैं, तो आप प्रीप्रोसेसर या ऐसा कुछ उपयोग करने का प्रयास कर सकते हैं, और अपने उपयोगकर्ता को कुछ चर को अनुकूलित करने के लिए कुछ चर अनुकूलित कर सकते हैं। उदाहरण के लिए, कल्पना करें कि आप SASS का उपयोग करके assets-path
कहेंगे, आपके उपयोगकर्ता को केवल $assets-path: '/path/to/assets/'
जोड़ने और सीएसएस संकलित करने की आवश्यकता है।
जब भी मैं एक पैकेज का उपयोग कर रहा हूं, मुझे लगता है कि "ठीक है, वहां बहुत सी चीजें हैं, मुझे उन सभी का उपयोग करने की आवश्यकता नहीं है, मैं उन चीज़ों का उपयोग करूंगा जो मैं चाहता हूं", और यदि मैं आपके पैकेज का उपयोग करूंगा, और मुझे पता है कि सीएसएस फाइलें होंगी, मैं मदद करने के लिए टूल का एक अच्छा सेट ढूंढने की कोशिश करूंगा।
यदि आप कुछ "मानक" का पालन करना चाहते हैं, तो जिथब पर सबसे लोकप्रिय प्रतिक्रिया परियोजनाओं की जांच करने का प्रयास करें, लेकिन जैसा कि मैंने पहले कहा था, जिस तरह से वे सामान का नाम देते हैं, वैसे ही उन्हें समझ में आता है। यह आपको समझ में नहीं आता है! :)
उम्मीद है कि यह मदद करता है!
- 1. एनपीएम के लिए एक प्रतिक्रिया घटक प्रकाशित करें और इसे पुन: उपयोग करें
- 2. वितरण फ़ाइलों के साथ एक एनपीएम पैकेज कैसे प्रकाशित करें?
- 3. प्रतिक्रिया घटक में jQuery
- 4. स्थिर संपत्तियों, एचटीएमएल 5 मोड, इतिहास एपीआई और घोंसले मार्गों के साथ प्रतिक्रिया राउटर कैसे काम करें?
- 5. प्रकाशित एनपीएम मॉड्यूल का नामकरण
- 6. परीक्षण कैसे करें एक प्रतिक्रिया घटक में जेस्ट के साथ एक और घटक है?
- 7. एनपीएम को प्रकाशित किए बिना अन्य ऐप में कोणीय 2 मॉड्यूल का पुन: उपयोग करें?
- 8. सिम्फनी में स्थिर संपत्तियों का कैशिंग
- 9. वसंत के साथ संपत्तियों को फिर से लोड कैसे करें?
- 10. परीक्षण घटक व्यवहार (क्लिक करें) में प्रतिक्रिया-मूलनिवासी जेस्ट साथ
- 11. टेम्पलेट कार्यान्वयन के साथ हेडर फ़ाइलों को कैसे प्रकाशित करें?
- 12. जेएसएक्स में घटक संख्या प्रतिक्रिया घटक
- 13. मैं प्रकाशित एनपीएम मॉड्यूल को कैसे अपडेट करूं?
- 14. कैसे एक प्रतिक्रिया घटक
- 15. मेरी प्रकाशित संपत्तियों को ऑब्जेक्ट इंस्पेक्टर की निर्दिष्ट श्रेणी में कैसे रखा जाए?
- 16. प्रतिक्रिया घटक के साथ event.target का उपयोग
- 17. प्रतिक्रिया: 'this.state' घटक घटक
- 18. प्रतिक्रिया घटक
- 19. प्रतिक्रिया घटक
- 20. प्रतिक्रिया घटक
- 21. मैं एक कोणीय-सीएलआई प्रोजेक्ट को एनपीएम मॉड्यूल के रूप में कैसे प्रकाशित करूं?
- 22. प्रतिक्रिया घटक में वर्तमान पथ प्राप्त करें
- 23. रीजनएमएल के साथ एनपीएम पैकेज का उपयोग कैसे करें?
- 24. प्रतिक्रिया घटक
- 25. प्रतिक्रिया उच्च घटक घटक बल लपेटा घटक
- 26. प्रतिक्रिया: बाल घटक घटनाओं को कैसे सुनें
- 27. वेबपैक को एक प्रतिक्रिया घटक
- 28. प्रतिक्रिया घटक
- 29. यूएनएमईटी पीयर डिप्लेन्सी के साथ एनपीएम मुद्दे, प्रतिक्रिया-मूल
- 30. प्रतिक्रिया दें, घटक
शायद आपको उत्पादन/dist वेबपैक कॉन्फ़िगरेशन दिखाना चाहिए। – MacKentoch
@MacKentoch मेरे पास इसके लिए वेबपैक कॉन्फ़िगर नहीं है क्योंकि मुझे नहीं लगता कि एनपीएम बंडल/मिनीफाइड संस्करणों के लिए सही जगह है। मैं जो करता हूं वह सिर्फ ईएस 5 में जेएसएक्स को पारदर्शी करता है। – alexb