2012-06-25 13 views
5

Ich habe eine großflächige Einzelseiten-App, die ich auf Dojo 1.7/AMD Loader-Syntax migriere.AMD/Dojo 1.7 Single Page App: Wo die Require()?

Ich habe eine Haupt-JSP, die alles lädt, und dann eine Vielzahl von JSP-Seiten, die für die dynamische Inhaltserzeugung verwendet werden.

Ist es eine bessere Designentscheidung, den require() {} -Block um die gesamte Anwendung oder um jede Instanz eines erforderlichen Moduls herum hinzuzufügen?

Oder eine Kombination? Fügen Sie der Hauptseite die häufigsten requests() hinzu, und durchsuchen Sie dann andere Instanzen, die umschlossen werden müssen.

Antwort

4

Sie sollten so viel wie möglich faul laden; vielleicht auf der JSP-Seitenebene "dynamischer Inhalt". Es macht deutlich, was jede Seite benötigt, und hält die requires() in der Nähe des Codes, der das importierte Modul verwendet, übersichtlicher.

Es reduziert auch die Zeit, die die Hauptseite zum Laden braucht, was bedeutet, dass der Benutzer mit der Anwendung in kürzerer Zeit interagieren kann. Das ist eine gute Sache.

+2

Das Wichtigste ist, einen Basis-Layer mit dem Build-Prozess zu erstellen, der Module bereitstellt, die Sie auf jeder Seite laden können. Also, für uns, es endet mit den am häufigsten verwendeten Dijit-Formular-Eingabe-Widgets (Text, Select, Button, etc) und all diese Abhängigkeiten. Danach sollten die zusätzlichen Schichten nicht die Module enthalten, die bereits von der Basisschicht bereitgestellt werden, sondern die Basisschicht als Abhängigkeit erfordern. – Andrew

+0

Ah, guter Tipp. Ich lerne immer noch, wie der Dojo Build-Prozess funktioniert. – craigforster

+0

@Andrew - Es wäre toll, wenn Sie Ihre allgemeine Seite einfügen würden. Ich bin immer noch ein wenig vage darüber, ob Sie Dinge wie "Dojo" und "Dojox" explizit hinzufügen müssen. – mtyson