2016-05-05 9 views
0

Ich möchte meine App an eine bestehende Portal-App anhängen, die REQUIREJS als AMD Loader verwendet. Ich würde diese App erweitern, aber ich würde gerne mit meinem Teil für SYSTEMJS Loader gehen. Es scheint nicht möglich zu sein, Module im Systemjs-Kontext zu verwenden, die mit requirejs geladen wurden.Ist es möglich SYSTEMJS mit REQUIREJS zu kombinieren?

Ich habe ein plunkr Beispiel für mein Problem vorbereitet:

requirejs(['AlternateCase.js'], function(AlternateCase) { 
    console.log(AlternateCase); 
    System.import("app.js"); 
    }); 

https://plnkr.co/edit/nRnnHzRLyTJCT826WBo4

AlternateCase ist ein Winkelfilter, das ich mit requirejs laden - die App I systemjs LOAD. Ich bekomme das Filterobjekt (console.log), aber ich bekomme "unbekannte Provider" in meiner App für den Filter.

Die Herausforderung besteht darin, dass der Code des Filters muss nicht geändert werden, weil es die exsting App darstellt, die ich geladen werden soll, aber die ich nicht ändern kann.

+0

'app.js' exportiert nichts, also würde der Versuch, es zu erfordern, nichts zurückgeben. Schauen Sie in [shim] (http://requirejs.org/docs/api.html#config-shim) nach Bibliotheken und Dateien, die nicht 'define' aufrufen. –

+0

Nicht sicher, ob ich Sie richtig verstehe, aber ich würde gerne importieren das Filterobjekt in app.js - nicht umgekehrt. Danke – Gerfried

+0

mein schlechtes Ich habe die Frage völlig falsch gelesen - ist AlternateCase alles exportieren? –

Antwort

0

Ich konnte einen Plunker erstellen, der funktioniert. https://plnkr.co/edit/a3ZMek8aUmBuusoIFBjE?p=preview

Ich habe auch erreicht, alternativ system.js für AMD laden zu verwenden, indem requirejs mit System.amdRequire überschreiben.

window.requirejs = System.amdRequire; 

Allerdings benötigt requirjs + systemjs auch gut.

Verwandte Themen