javascript - क्या मुझे Angularjs का उपयोग करने के लिए node.js की आवश्यकता है?



(4)

मै तुम्हारा दर्द समझ सकता हू।

कोणीय 2 विकास के लिए किसी नए व्यक्ति के लिए, मैं उस चीज़ के लिए सर्वर साइड प्रौद्योगिकियों को सीखने के दर्द को महसूस कर सकता हूं जो अनिवार्य रूप से क्लाइंट साइड तकनीक है । मैं जो कुछ समझता हूं:

  1. node.js केवल एक कोणीय 2 आवेदन की निर्भरता का प्रबंधन करने के लिए उपयोग किया जाता है। यदि आप किसी तरह node.js , npm या jspm का उपयोग किए बिना उन निर्भरता को प्राप्त करने का प्रबंधन कर सकते हैं, तो आप ऑफ़लाइन अपने एप्लिकेशन को चला सकते हैं और विकसित कर सकते हैं। हालाँकि, इसे मैन्युअल रूप से करने में समय कम लगेगा, क्योंकि आपको फ़ाइलों को मैन्युअल रूप से डाउनलोड करना होगा, जिसमें अन्य निर्भरताएँ हो सकती हैं, जिन्हें फिर से डाउनलोड करने के लिए अन्य फ़ाइलों की आवश्यकता होगी (हाँ मैं वहाँ गया हूँ)। उस मामले के लिए node.js या npm या jspm इस प्रक्रिया को स्वचालित करता है और साथ ही फाइलों ( jspm ) को कॉन्फ़िगर करने के सभी आवश्यक कदम jspm ताकि जब भी आप अपने आवेदन में किसी विशेष निर्भरता का उपयोग करें, तो उस विशेष निर्भरता का अन्य निर्भरता में भी मौजूद होगा। आपकी प्रणाली।
  2. कुछ ब्राउज़र, विशेष रूप से Google Chrome सुरक्षा उद्देश्यों के लिए स्थानीय रूप से लोड की गई फ़ाइलों को प्रतिबंधित करता है, ताकि Angular 2 द्वारा उपयोग की जाने वाली कुछ HTML 5 तकनीकें फ़ाइल का उपयोग करते समय एक त्रुटि उत्पन्न करें: प्रोटोकॉल। तो आपको एक सर्वर की आवश्यकता होती है जिससे आप अपने एप्लिकेशन की सेवा कर सकते हैं ताकि सभी उपलब्ध HTML 5 प्रौद्योगिकियाँ चलने के लिए Angular 2 के लिए उपलब्ध हों।
  3. यह तेजी से अनुप्रयोग विकास के लिए hot-module-reload क्षमता के लिए node.js की भी आवश्यकता है क्योंकि यह स्रोत कोड में परिवर्तन का पता लगाने के लिए एक file watcher api प्रदान करता है।

लेकिन नोड्यूलर के बिना कोणीय 2 अनुप्रयोग ऑफ़लाइन विकसित करने का एक तरीका है।

  1. याद रखें जब मैंने कहा था कि यदि आप सभी आवश्यक निर्भरताएं प्राप्त करने का प्रबंधन कर सकते हैं, तो आप अपना आवेदन ऑफलाइन रूप से चला और विकसित कर सकते हैं? यदि आप किसी ऐसे पैकेज को पा सकते हैं या बना सकते हैं जिसमें आपके लिए आवश्यक सभी निर्भरताएं हैं, तो आपके लिए निर्भरता को प्रबंधित करने के लिए आपको npm या jspm की आवश्यकता नहीं है।
  2. file-access-restriction समस्या के लिए, आप अपनी परियोजना को विस्तार के रूप में लोड कर सकते हैं। एक्सटेंशन में सभी उपलब्ध HTML 5 तकनीकों के साथ-साथ कुछ शक्तिशाली एपी (सर्वर पर दिए गए एप्लिकेशन तक भी उपलब्ध नहीं है) का उपयोग करने की क्षमता है, जबकि एक ही समय में आपके विकास के वातावरण के लिए स्थानीय है। यदि आपको एक्सटेंशन के रूप में अपने एप्लिकेशन की सेवा करनी है तो आपको HTML 5 तकनीकों तक पहुंचने के लिए एक वेब सर्वर को फायर करने की आवश्यकता नहीं है।
  3. hot-module-reload क्षमता के लिए, आप इसे दूसरे तरीके से संपर्क कर सकते हैं। स्थानीय सिस्टम में फ़ाइलों में परिवर्तन की निगरानी के लिए वेब सर्वर में एक फाइल वॉचर रखने के बजाय, आप इसे एप्लिकेशन से ही कर सकते हैं। चूंकि एप्लिकेशन को एप्लिकेशन द्वारा आवश्यक संसाधन fetch जा सकते हैं या xmlhttprequest संसाधन fetch कर सकते हैं, इसलिए आप समय-समय पर उन संसाधनों को fetch कर सकते हैं या xmlhttprequest आपके एप्लिकेशन की आवश्यकता है और संसाधनों की तुलना करें। लेकिन आपको कैसे पता चलेगा कि किन फाइलों को जांचना है? आप img. के पेज, script भीतर links के लिए देख सकते हैं img. यदि आप SystemJS को मॉड्यूल लोडर के रूप में उपयोग करते हैं, तो आप इसकी रजिस्ट्री का उपयोग अपने आवेदन के लिए आवश्यक फाइलों को देखने के लिए कर सकते हैं लेकिन पृष्ठ में लोड नहीं किया गया है, क्योंकि यह ट्रांसप्लड या कुछ और है। यह सब करते हुए आपके सिस्टम के लिए एक प्रदर्शन नाली हो सकती है साथ ही ट्रांसपिलिंग या प्रीप्रोसेसिंग गैर-देशी कोड के अतिरिक्त ओवरहेड के साथ, यह नौकरी एक web worker को आउटसोर्स की जा सकती है जो सिस्टम में मुख्य निष्पादन थ्रेड को अपने आवेदन कोड के लिए मुक्त कर देगा। ।

मुझे विश्वास नहीं है? यहाँ सबूत है।

  1. Github पर क्रोम प्रोजेक्ट में कोणीय में एक ज़िपित पैकेज होता है जिसमें न्यूनतम कोणीय 2 अनुप्रयोग विकसित करने के लिए आवश्यक निर्भरताएं होती हैं (न्यूनतम रूप से, मैं Quickstart पृष्ठ पर संदर्भित हीरोज ट्यूरिस्ट के टूर की बात कर रहा हूं)। ताकि यदि आप एक ऐसे सिस्टम पर हैं, जो नोड द्वारा समर्थित नहीं है। जेएस (हाँ उदाहरण के लिए, क्रोमओएस हैं) या सिर्फ एक प्रतिबंधित प्रणाली पर जिसमें नोड.जेएस बस उपलब्ध नहीं है, सभी आवश्यक निर्भरताएं उपलब्ध हैं और आप नहीं करते हैं आपके लिए आवश्यक निर्भरता को प्रबंधित करने के लिए npm या jspm की आवश्यकता है।
  2. अवधारणा विस्तार का एक प्रमाण है जो स्थानीय रूप से क्रोम एक्सटेंशन के रूप में नायकों के ट्यूटोरियल (विकास फाइलें, टाइपस्क्रिप्ट और सभी) के दौरे का कार्य करता है।
  3. विस्तार भी SystemJS के लिए एलेक्सिस विनसेंट द्वारा विकसित hmr-primitives में हुक करके एक hot-module-reload कार्यक्षमता को लागू करता है। hot-module-reload कार्यक्षमता को एक एकल जावास्क्रिप्ट फ़ाइल द्वारा सक्षम किया जाता है ताकि यदि इस कार्यक्षमता की आवश्यकता न हो या बहुत अधिक संसाधन ले रहा हो, तो आप कोड की अपमानजनक रेखा को हटा सकते हैं।

लेकिन चेतावनी दी है।

  1. यदि आप इस प्रणाली का उपयोग कर रहे हैं, तो आपको अपने विकास पैकेज को अपडेट करने का एक तरीका चाहिए क्योंकि तकनीक आगे बढ़ती है और यह तीव्र गति से आगे बढ़ती है (क्या कोणीय 3 की बात के साथ जब एंगुलर 2 अभी जारी किया गया है) या आप जिस तकनीक का उपयोग कर रहे हैं अपने आवेदन को विकसित करने के लिए अप्रचलित हो सकता है या यह कि कहीं रेखा के साथ एक एपीआई परिवर्तन आपके आवेदन को भविष्य में कार्यात्मक होने से रोक सकता है। इन प्रकार के पैकेजों को मैन्युअल रूप से बनाए रखने के लिए आपको निर्भरता के लिए अप-टू-डेट रिपॉजिटरी की गारंटी नहीं है।
  2. Chrome में Angular की तरह Chrome एक्सटेंशन के रूप में अपने एप्लिकेशन को बंडल करने से प्रदर्शन में अड़चनें आएंगी। चूंकि कोड ट्रांसप्लड है और मॉड्यूल आलसी लोड किए गए हैं, आप जेआईटी संकलन और अन्य प्रदर्शन संवर्द्धन के अग्रिम खो देते हैं जो आधुनिक जावास्क्रिप्ट इंजन ब्राउज़र पर कोड रन को अनुकूलित करने के लिए उपयोग करते हैं। हालांकि, प्रदर्शन में आप क्या खोते हैं, आप उस तकनीक का उपयोग करने के लिए लचीलापन प्राप्त करते हैं जिसे आप विकसित करना पसंद करते हैं। हमेशा एक व्यापार होता है। इसके अलावा, प्रदर्शन हिट केवल शुरुआत में होता है क्योंकि कोड लोड किया जाता है। एक बार जब यह एप्लिकेशन द्वारा लोड किया गया है, तो सिस्टम को पता चल जाएगा कि प्रदर्शन संवर्द्धन कैसे लागू किया जाए। जब आप अपना एप्लिकेशन वितरित करते हैं, तो आपको वास्तव में आधुनिक जावास्क्रिप्ट इंजन के प्रदर्शन में वृद्धि का लाभ उठाने के लिए आवश्यक संसाधनों को संकलित करने की आवश्यकता होती है।
  3. hot-module-reload क्षमता वर्तमान में एक फाइल वॉचर को लागू करने का एक हैक तरीका है जो एक परियोजना (temp1.ts, temp1.css, temp1.htm) के लिए आम सम्मेलनों का उपयोग करता है क्योंकि कोई रास्ता नहीं है (मैं इस पर गलत हो सकता हूं) आवेदन द्वारा आवश्यक सभी संसाधनों की एक निश्चित सूची प्राप्त करने के लिए, लेकिन मुख्य पृष्ठ पर लोड नहीं किया गया (ट्रांसप्लड या पूर्व-संसाधित संसाधन)।

https://src-bin.com

मैं अपनी वेबसाइट में अपने छवि संपादन उपकरण के लिए angular.js का उपयोग करना चाहूंगा। क्या मुझे node.js भी आवश्यकता है?

मैं परिदृश्य को नहीं समझता। अगर मुझे उस एक की जरूरत नहीं है, जब नोडज और एंगुलरज दोनों एक साथ हैं?


Answer #1

काम करने के लिए आपको AngularJS के लिए Node.JS की आवश्यकता नहीं है। NodeJS सर्वर साइड है, AngularJS क्लाइंट साइड है।

यदि आप AngularJS में नए हैं, तो मैं इस ट्यूटोरियल AngularJS ट्यूटोरियल का सुझाव दूंगा । ट्यूटोरियल में आप NodeJS का उपयोग करेंगे, आप समझेंगे कि दोनों एक साथ क्यों काम करते हैं, लेकिन आवश्यक नहीं हैं।


Answer #2

नहीं। Angular का उपयोग क्लाइंट की ओर और सर्वर की ओर से Node लिए किया जाता है।

वे MEAN स्टैक के रूप में एक साथ जाने के लिए उपयोग करते हैं लेकिन यह आवश्यक नहीं है।


Answer #3

यह जानना कठिन है कि आपका इमेजिंग एडिटिंग टूल कैसे काम करता है। लेकिन आपके प्रश्न का उत्तर देने के लिए, नहीं, आपको AngularJS का उपयोग करने के लिए Node.js की आवश्यकता नहीं है।

कोणीय एक फ्रंट-एंड जावास्क्रिप्ट फ्रेमवर्क है जो क्लाइंट वेब ब्राउज़र में संचालित होता है।

नोड एक सेवा है जो जावास्क्रिप्ट को निष्पादित कर सकती है और अक्सर PHP के प्रतिस्थापन में एक सर्वर पर उपयोग की जाती है ( जैसे कि MEAN स्टैक में )। इसके अलावा, क्योंकि नोड एक ऐसी सेवा है जो जावास्क्रिप्ट को निष्पादित कर सकती है जिसका उपयोग आपके स्थानीय कंप्यूटर में किया जा सकता है जब पृष्ठभूमि और टास्क को छोटा करने के लिए कोणीय अनुप्रयोगों को विकसित करने के लिए कोणीय अनुप्रयोगों को विकसित करना और परीक्षण करना।

इसलिए यदि आपके इमेजिंग एडिटिंग टूल को जावास्क्रिप्ट में विकसित किया गया है और आपके एप्लिकेशन ने Angular and Node (एक वेब सर्वर के रूप में) का उपयोग किया है, तो कोड को क्लाइंट साइड या सर्वर साइड पर निष्पादित किया जा सकता है।

यह देखने के लिए एमईएन स्टैक पर पढ़ें कि नोड और कोणीय कहाँ फिट हैं। आपको नोड की बिल्कुल भी आवश्यकता नहीं है, लेकिन सभी को एक ही भाषा में विकसित करना अच्छा है।





angularjs