2016-03-10 11 views
5

मेरे पास एक घटक है जो जावास्क्रिप्ट लाइब्रेरी का उपयोग करता है। फिलहाल मैं सिर्फ system.js उपयोग कर रहा हूँ हालांकि घटक के प्रारंभ में इस देरी दूसरे के साथ एक मुद्दा खड़ी कर रहा है, उपभोक्ता घटक निर्भरताकोणीय 2 घटक लोडिंग बाहरी जेएस lib फ़ाइल

public ngOnInit() { 
    System.import('lib').then(() => this.createControl()); 
} 

लोड करने के लिए। अनिवार्य रूप से createControl फ़ंक्शन बहुत देर हो रहा है।

क्या सभी निर्भरताओं को डाउनलोड किए जाने तक पूरे घटक के प्रारंभिकरण में देरी करना संभव है?

+0

कोणीय लोड होने से पहले स्क्रिप्ट टैग में निर्भरता क्यों लोड नहीं करें? मैं इसे कुछ पुस्तकालयों के साथ करता हूं, जैसे कि जेएस कूकी और लॉनाश। वे पहले से ही कोणीय हो जाता है द्वारा लोड कर रहे हैं। – brando

+0

मैं एक और मॉड्यूलर दृष्टिकोण की तलाश में हूं :) मैं शुरुआत में सभी निर्भरताओं को हां लोड कर सकता हूं, और हालांकि दोनों तरफ प्रो/विपक्ष हैं, मैं व्यक्तिगत रूप से मॉड्यूलर/घटक दृष्टिकोण की तरफ झुका रहा हूं। – Umair

+0

क्या आपके पास अपने ऐप में रूट हैं? – dfsq

उत्तर

0

यह कोणीय के साथ पूरे घटक के प्रारंभ में देरी करने के लिए संभव है जब तक सभी निर्भरता

डाउनलोड कर रहे हैं बस फ़ाइल पर एक निर्भरता के रूप में lib जोड़ने है। फ़ाइल है कि घटक की चोटी पर इस रखो:

import * as lib from "lib" 

यह प्रभावी रूप से "lib" आवेदन जूते से पहले लोड अप होगा।

+0

यह काम नहीं कर रहा है। एक टाइपस्क्रिप्ट कंपाइलर त्रुटि प्राप्त करना जो कि "lib" – Umair

+0

मॉड्यूल नहीं ढूंढ सकता है: 'vendor.d.ts' में' मॉड्यूल घोषित करें "lib" {var foo: any; निर्यात = foo; } ' – basarat

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