2017-01-17 18 views
20

के साथ सीडीएन से बाहरी पुस्तकालयों को लोड करें मैं अपने ऐप कोड को बंडल करने वाला ऐप बनाने के लिए कोणीय-क्ली का उपयोग करना चाहता हूं लेकिन इसमें बंडल कोड में कोणीय 2 फ्रेमवर्क या अन्य बड़ी बाहरी जावास्क्रिप्ट लाइब्रेरी शामिल नहीं हैं। पेज लोड होने पर मैं इन पुस्तकालयों को सीडीएन से लोड करना चाहता हूं। क्या इसे करने का कोई तरीका है?कोणीय-क्ली

इसके अलावा, स्थानीय निर्माण के लाभों को संरक्षित करते समय ऐसा करने का कोई तरीका है जहां केवल एंगुलर 2 ढांचे का उपयोग करने वाले हिस्सों को लोड किया जाता है?

मैं इस सवाल को देखा है, लेकिन यह SystemJS के लिए था और मुझे नहीं लगता कि यह कोणीय-CLI पर लागू होता है: How to load angular2 using CDN and SystemJS

+0

हाय क्रिस - मैं सोच रहा था कि नीचे दिए गए उत्तर ने आपकी मदद की है या नहीं? यदि ऐसा है तो कृपया इसे एक स्वीकृत उत्तर के रूप में चिह्नित करने और बक्षीस का पुरस्कार देने में सक्षम होंगे। यह आपको रेपो अंक प्राप्त करेगा और भविष्य में दूसरों की सहायता करेगा। –

+3

यह इतना दुखी है कि 2017 में, हम सबसे प्रसिद्ध Google जावास्क्रिप्ट ढांचे के लिए सीडीएन का उपयोग करने के तरीके के बारे में बात कर रहे हैं। और हमारे पास इसका उत्तर भी नहीं है। यह सिर्फ दुखद है। – Milad

+0

@ बेनकैमरन: बक्षीस मुझसे था। मैंने इसे उस उत्तर से सम्मानित किया जिसने वास्तविक प्रश्न का उत्तर दिया।अन्य उत्तरों भी महान हैं लेकिन सीडीएन –

उत्तर

7

आपको सीडीएन को index.html फ़ाइल पर इंगित करने के लिए उचित <script src=""> टैग जोड़ने की आवश्यकता है। angular-cli.json से .js फ़ाइलों को निकालना याद रखें ताकि उन्हें ऐप के साथ बंडल न किया जा सके।

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

+0

क्या टाइप जानकारी रखने का कोई तरीका है? उदाहरण के लिए मेरे पास devdependencies में jQuery प्रकार हैं, लेकिन मुझे इसे "आयात" करने का कोई तरीका नहीं मिला और शिकायत रोकने के लिए अभी भी एनजी बिल्ड (एओटी के साथ) है। मैं क्या खो रहा हूँ? :) –

4

मैं ऐसे Akamai के रूप में एक CDN के लिए अपने पूरे एप्लिकेशन जोड़ना होगा। उदाहरण के लिए आप इस तरह के नीचे दी गई सूची में लोगों के रूप में फाइल को कैश कर सकता है (कि अपने ऐप्लिकेशन से संरचित है पर निर्भर करता है) ...

  • index.html
  • सूची आइटम
  • application.css
  • आवेदन .js
  • templates.js
  • vendors.css
  • vendors.js

यह सीडीएन पर कोणीय ढांचे फ़ाइलों को कैशिंग करने से भी बेहतर प्रदर्शन प्रदान करेगा।

3

कोणीय, संस्करण 2 या अधिक के साथ कोई अनुप्रयोग बनाते समय, एक बिल्ड सिस्टम का उपयोग करता है जिसमें केवल आपके द्वारा उपयोग किए जाने वाले कोणीय प्लेटफ़ॉर्म के भाग शामिल होते हैं। टेम्पलेट्स को बिल्ड समय पर संकलित किया जा सकता है, जिससे बिल्डिंग प्रक्रिया आपके बंडल पेलोड से टेम्पलेट कंपाइलर को निकालने की अनुमति देती है। अंत में निर्माण प्रक्रिया आपके कोड के स्थिर विश्लेषण की सहायता से पेड़-हिलती है, जो प्लेटफ़ॉर्म के पेलोड बंडल अप्रयुक्त हिस्सों से आगे निकलती है।

यदि आप सीडीएन से कोणीय प्रदान करते हैं, तो इसे रसोईघर सिंक, पूरे मंच की आवश्यकता होगी। यह आपके आवेदन के लिए बहुत बड़ा और नुकसान होगा।

आप प्लेटफॉर्म के हिस्सों को कोणीय-क्ली बंडल की अनुमति देने से बहुत बेहतर हैं। जैसा कि वेबपैक ट्रेशकिंग प्लगइन आपके बंडल आकार में सुधार करता है, वह छोटा हो जाएगा।

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

  • कोई संबंधित समस्या नहीं^_^