2013-04-19 14 views
15

तो मेरे प्रश्न का प्रस्ताव देने के लिए, मैं जावा बैक-एंड डेवलपर परिप्रेक्ष्य से आ रहा हूं, जहां हम मेवेन का निर्माण करने के लिए उपयोग करते हैं। मैंने हाल ही में विकसित सर्वर-साइड नोड प्रोजेक्ट पर परीक्षण करने पर काम किया है, लेकिन अब मैं अपने फ्रंट एंड जावास्क्रिप्ट क्लाइंट पर परीक्षण स्थापित करने के लिए आगे बढ़ रहा हूं। मैं फ्रंट एंड डेवलपमेंट में बहुत अच्छी तरह से नहीं जानता हूं और यह वास्तव में मेरा पहला प्रयास है।बोवर और एनपीएम जोड़े एक साथ कैसे करते हैं?

यह सब कहा जा रहा है, मुझे लगता है कि मैं अपने सामने वाले परीक्षण के लिए निम्नलिखित तकनीकी ढेर का उपयोग करने जा रहा हूं: ग्रहण आईडीई, मेवेन बिल्ड प्रक्रिया, मोचा परीक्षण ढांचा, चाई दावा फ्रेमवर्क, नॉक HTTP मॉकिंग फ्रेमवर्क, Sinon मजाक/जासूसी/stubbing ढांचे, रिवायर निर्भरता इंजेक्शन ढांचे। यह सब ठीक होना चाहिए, और चूंकि यह स्टैक हम अपने नोड प्रोजेक्ट के लिए उपयोग करते हैं, इसलिए मैं फ्रंट-एंड सेटअप को यथासंभव समान रखना चाहता हूं।

तो, यह वह जगह है जहां मेरा ज्ञान टूट जाता है, हालांकि। मैं अपने नोड प्रोजेक्ट और हमारी फ्रंट एंड जावास्क्रिप्ट प्रोजेक्ट के बीच निर्भरता प्रबंधन में अंतर को समझ नहीं सकता। मैं देख नहीं सकता कि मैं निर्भरता प्रबंधन और स्थापना को संभालने के लिए, हमारे मेवेन बिल्ड में एकीकृत एनपीएम का उपयोग क्यों जारी नहीं रखूंगा।

मुझे लगता है कि बोवर की वकालत करने वाले बहुत से लोग देखते हैं, लेकिन इसके पेज और दस्तावेज़ों को देखने के बाद, मैं अभी भी यह नहीं देख रहा हूं कि एनपीएम क्या नहीं करेगा। ब्राउज़र निर्भरता प्रबंधन के रूप में मुझे एनपीएम के बहुत से अपमानजनक अस्वीकृति दिखाई दे रही है; मुख्य तर्क यह है कि एनपीएम सर्वर-साइड नोड परियोजनाओं के लिए डिज़ाइन किया गया है, न कि फ्रंट-एंड स्पेस के लिए। लेकिन कौन परवाह करता है? इसके शुरुआती डिजाइन के इरादे के बावजूद, अगर ऐसा करता है तो मुझे क्या करना है, नकारात्मकता कहां है?

कृपया इस "प्रश्न" से संपर्क करें जैसे कि मैं एक पूर्ण नौसिखिया हूं। मुझे एहसास हुआ है क्योंकि मैं इस प्रक्रिया और शोध से गुज़र चुका हूं, कि चीजों के सामने वाले पक्ष के संबंध में मुझे ज्ञान की बहुत बड़ी कमी है। कहा जा रहा है कि, कृपया अपने उत्तरों में यथासंभव विशिष्ट और पूर्ण हो। मुझे उस स्थान की तस्वीर पेंट करने में मदद करने के लिए, जैसा कि आवश्यक है, प्रोजेक्ट कॉन्फ़िगरेशन और जैसे, साझा करने में मुझे खुशी होगी। किसी भी प्रतिक्रिया के लिए धन्यवाद!

उत्तर

15

बोवर और एनपीएम अलग-अलग काम करते हैं।

एनपीएम यह बहुत शक्तिशाली और महान है जो यह करता है। हालांकि, आपको वहां कई क्लाइंट-साइड पैकेज नहीं मिलेगा; उनमें से ज्यादातर वहां हैं क्योंकि वे नोड में भी काम करते हैं। (उदाहरण के लिए, अंडरस्कोर.जेएस और जेएडीई टेम्पलेट इंजन।)

यही कारण है कि आपके पास बोवर है, जिसमें क्लाइंट-साइड पैकेज का बहुमत है। इसमें कई jQuery प्लगइन्स, टेम्पलेटिंग इंजन, सीएसएस फ्रेमवर्क इत्यादि हैं। एनपीएम में ऐसे पैकेज खोजने की उम्मीद न करें।

आप दोनों के साथ ठीक काम कर सकते हैं। मैं ऐसा ही करता हूँ। :)

+0

क्या मैं एक ही फ़ोल्डर "node_modules" में सभी मॉड्यूल डाल सकता हूं? इसके साथ क्या समस्याएं हैं? http://stackoverflow.com/questions/18012291/what-is-the-best-way-tools-to-organize-javascript-code-that-runs-on-client-and-o –

+3

आपको पैकेज नहीं करना चाहिए नाम (एनपीएम) घटक नामों (बॉवर), यानी "jquery" के साथ संघर्ष कर सकता है, जो उनमें से किसी को परेशान करेगा और समस्याओं का कारण बन जाएगा। –

+0

कोई भी पॉइंटर्स एनपीएम और बॉवर को उसी परियोजना के अच्छे व्यवहार वाले नागरिकों को कैसे बनाया जाए, इस पर आपका स्वागत है! –

संबंधित मुद्दे