के साथ कोणीय 2 Ansychronous बूटस्ट्रैपिंग मैंने angular2 आरसी 6 में अपग्रेड किया है और मेरे AppModule बूटस्ट्रैप करने से पहले बाहरी JSON कॉन्फ़िगरेशन फ़ाइल लोड करना चाहता हूं। मैंने आरसी 5 से पहले यह काम किया था लेकिन अब मुझे इस डेटा को इंजेक्ट करने के बराबर तरीके खोजने में परेशानी हो रही है।बाहरी जेसन कॉन्फ़िगरेशन फ़ाइल
/** Create dummy XSRF Strategy for Http. */
const XRSF_MOCK = provide(XSRFStrategy, { provide: XSRFStrategy, useValue: new FakeXSRFStrategyService() });
/** Create new DI. */
var injector = ReflectiveInjector.resolveAndCreate([ConfigService, HTTP_PROVIDERS, XRSF_MOCK]);
/** Get Http via DI. */
var http = injector.get(Http);
/** Http load config file before bootstrapping app. */
http.get('./config.json').map(res => res.json())
.subscribe(data => {
/** Load JSON response into ConfigService. */
let jsonConfig: ConfigService = new ConfigService();
jsonConfig.fromJson(data);
/** Bootstrap AppCOmponent. */
bootstrap(AppComponent, [..., provide(ConfigService, { useValue: jsonConfig })
])
.catch(err => console.error(err));
});
यह ठीक काम करता है लेकिन आरसी 6 के साथ काम करने के लिए संघर्ष करने के लिए संघर्ष कर रहा है।
मैं निम्नलिखित दृष्टिकोण प्रयोग कर रहा हूँ लेकिन लोड किया गया डेटा के साथ अपने पूर्वनिर्धारित AppModule संशोधित करने के लिए संघर्ष कर रही:
const platform = platformBrowserDynamic();
if (XMLHttpRequest) { // Mozilla, Safari, ...
request = new XMLHttpRequest();
} else if (ActiveXObject) { // IE
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {
console.log(e);
}
}
}
request.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
var json = JSON.parse(this.responseText);
let jsonConfig: ConfigService = new ConfigService();
jsonConfig.fromJson(json);
/**** How do I pass jsConfig object into my AppModule here?? ****/
platform.bootstrapModule(AppModule);
}
};
// Open, send.
request.open('GET', './config.json', true);
request.send(null);
धन्यवाद @peeskillet परीक्षण करने के लिए प्रयोग किया जाता है - यही तो मैं याद आ रही थी है! मुझे एहसास नहीं हुआ कि आप मॉड्यूल को किसी फ़ंक्शन के अंदर घोषित करते हैं! जैसा कि आपने ऊपर सुझाया है, मैंने इसे काम किया है। – HUI
हाय peeskiller, config.ts क्या होगा। सिर्फ सादा सेवा? – gaurang171
@ gaurang171 हाँ, JSON –