2016-09-28 6 views
2
dojo.require("dijit.Dialog"); 
dojo.require("dijit.form.Form"); 
dojo.require("dijit.form.Button"); 
dojo.require("dijit.form.DateTextBox"); 
dojo.require("dijit.form.TimeTextBox"); 
dojo.require("dijit.form.ValidationTextBox"); 
dojo.require("dijit.layout.TabContainer"); 
dojo.require("dijit.layout.ContentPane"); 
dojo.require("dijit.Tooltip"); 
dojo.require("dojo.parser"); 
dojo.require("dojo.fx"); 
dojo.require("dojo.dnd.Manager"); 
dojo.require("dojo.dnd.Source"); 
dojo.require("dojox.layout.ContentPane"); 
dojo.require("dojo.io.iframe"); 

Dies scheint mit CDN oder mit src = „“, und zeigen in inspizieren Element in meiner Seite viele Anfragen, jemand wissen, warum?Viele Anfragen an den Server mit Dojo

+0

unten Ihre Frage nicht beantwortet? –

Antwort

1

Nun, es scheint, Sie wollen die flow of Dojo verstehen ich meine, wie es funktioniert und wie es seine Abhängigkeiten lädt.

In kleinen Skript-Code, wie wir Sie verwenden legacy model/version of dojo

Zuerst sehen wir verstehen das require und define

require und define Teil der asynchronen Moduldefinition sind (AMD) API.

Sie verwenden , um ein Modul zu definieren, das von anderem Code verwendet werden kann. Im Allgemeinen wird in einer Javascript-Datei verwendet. Die Javascript-Datei definiert ein Modul. Alle Dojo-Dateien verwenden define.

Sie verwenden require, wenn Sie kein Modul definieren, aber Sie Module benötigen, die definiert wurden.

Laden von Widgets

So in Ihrem Netzwerk und Konsole können Sie beobachten, dass, wenn Sie auf den Link Dojo CDN laden Sie es einfach die Datei init.js Standardlader lädt. sehr klein und einfach/schneller zu laden.

Also, wenn Ihr wird Dojo Loader geladen auf der Grundlage Ihrer dojo configuration es dann beginnen für Abhängigkeiten suchen, die Sie in Ihrem Projekt verwenden, um die immer Widgets (dojo controls, classes, files etc.) Sie es diejenigen Widget von CDN Laden beginnt benötigen erwähnt.

In diesem Fall lädt Dojo nicht die gesamte Dojo-Bibliothek in Ihrem Projekt, sondern lädt nur die Widgets, die Sie in require angeben.

der Hoffnung, das Ihr Anliegen beantworten :)

+0

gibt es einen Weg weniger Anfrage? xhr? –

+0

Nun, die beste Möglichkeit, um die Anfrage zu minimieren, erwähnen Sie nur die Bibliotheken in der Anforderung, die Sie verwenden. Wie auch immer diese Anfragen sich annähern - der "on the fly" -Bibliotheks-Lade-Ansatz wird als Vorteil angegeben, so dass Ihre Anwendung leicht ist. nur gebrauchte Bibliotheken werden da sein ... –

+0

xhr löst nicht den Zweck, den wir hier diskutieren ... dojo ist so konzipiert, dass es Abhängigkeiten nacheinander lädt ... –

Verwandte Themen