2016-03-12 18 views
8

Ich möchte SystemJS verwenden, um AMD-Module sowie System.import() Module bei Bedarf dynamisch zu importieren. Ich kann natürlich einschließen, aber ich bekomme einen Fehler, dass Traceur nicht definiert ist. Ich mache absichtlich nicht wollen Traceur oder andere Abhängigkeiten, um Anfragen auf ein Minimum zu halten. Gibt es eine Version von SystemJS, die es ermöglicht, AMD- und System.import-Aufrufe in einem einfachen Skript zu importieren?Verwendung von SystemJS in der Produktion ohne Traceur

+0

Wo sind die Antworten? Chrome hat die meisten von es6 eingebaut, außer für diese lästige Import-Anweisung. – user1311069

+0

I Sie Einstellung System.transpiler? –

Antwort

0

Vom documentation:

Transpiler

Typ: String Standard: traceur

Stellt einen Modulnamen für System.import, die entweder Traceur, Babel oder Typoskript beheben müssen.

Sie müssen eine der drei oben definieren, es ist nicht möglich, diese Funktion zu deaktivieren.

+1

Es ist möglich, [transpiler auf false] zu setzen (https://github.com/systemjs/systemjs/issues/1057), dies erlaubt immer noch kein Importieren von Modulen über 'System.import()' Aufrufe. – Himmel

+0

Danke. Ich habe auf falsch gesetzt, und Traceur wurde nicht mehr angefordert. :) –

0

Die transpiler Option in jspm und (vorausgesetzt, es ist nur durchgelassen) systemjs kann false eingestellt werden, obwohl zur Zeit [1] SystemJS eine hartcodierte Abhängigkeit von Traceur Transpiler hat, wenn das Modul in ES6 Format erkannt wird.

Der Grund, warum ich dies erwähne, ist, dass ich glaube, dass Ihr Problem nicht von AMD-Modulen verursacht wird, sondern eher, dass einige Abhängigkeit in den Modulen, die Sie verwenden (oder die Module, die sie verwenden), sind Tatsache, im ES6-Format geschrieben. Überprüfen Sie Ihre Browser-Konsole auf die aufdeckende Fehlermeldung.

[1]Link to SystemJS sourcecode which handles ES6 module format.

Verwandte Themen