Ich bin gewesen readingaboutes6 module loaders und ich verstehe einfach nicht ganz, wie es funktioniert und hoffe, dass jemand mich erleuchten kann.Wie funktioniert es6 Modul laden
In dem praktischen Workflows verknüpfen über sie ein Beispiel wie dieses
System.import('app/app').then(function(app) {
// app is now the Module object with exports as getters
});
kein Problem damit haben - ich verstehe. Aber dann sehe ich Sachen wie diese
var $ = require('jquery');
und wirklich verwirrt werden. Was passiert, wenn jquery zum Zeitpunkt des Aufrufs noch nicht in den Browser übertragen wurde? Dreht sich der Thread nur? Analysiert der Browser das Skript hinter den Kulissen und wandelt es wie RequireJs in einen Callback um? Ist das konfigurierbar? Gibt es bestimmte Einschränkungen?
Kann mir jemand einen Überblick geben?
Die zweite Sache, die Sie sehen, ist "CommonJS Modul laden", nicht ES6 afaik. In der Tat [funktioniert nicht (gut) in require.js] (http://requirejs.org/docs/api.html#cjsmodule) – Bergi
@Bergi es funktioniert gut in require.js, während ich es nicht bevorzuge Es gibt bestimmte Seiten in meinem aktuellen Projekt, die requirjs mit dem commonjs-Stil verwenden. Requirejs scannt das Skript nach commonjs-Ausdrücken und schreibt es in ein amd-Format um, weshalb es immer noch Callbacks verwendet. Aber wenn ich mich nicht irre, verwendet der es6-Vorschlag KEINE Rückrufe - daher meine Verwirrung. –
Ja, und das Scannen des Skripts funktioniert nicht für alle außer den einfachsten Fällen. Können Sie den Teil des ES6-Vorschlags, den Sie meinen, verlinken? 'System.import' verwendet offensichtlich Callbacks. – Bergi