2016-04-27 6 views
3

Ich verwende Domino 9.0.1 mit Fixpack 5, was mir Dojo 1.9.7 gibt. In meinen xsp-Eigenschaften habe ich eingestellt, Laufzeit-optimierte JavaScript- und CSS-Ressourcen zu verwenden. Ich habe erwartet, dass diese Einstellung die Anzahl der Anforderungen, die beim Laden einer XPage an den Server gestellt werden, stark reduziert, aber nur minimale Auswirkungen hatte.Wie reduziere ich die Anzahl der Anfragen, die Dojo an den Server stellt?

Der Übeltäter ist dojo.js - es macht etwas mehr als 100 separate Anfragen an den Server für verschiedene .js und Ressourcendateien. Ich nehme an, dass diese von den verschiedenen Kontrollen kommen, die ich benutze, die Dojo verwenden. Gibt es eine Möglichkeit, diese Dojo-Anfragen zu einer einzigen Anfrage zusammenzufassen?

UPDATE: Sie sind so gut wie alle von /xsp/.ibmxspres/dojoroot-1.9.7/dijit/ und /xsp/.ibmxspres/dojoroot-1.9.7/dojo/ kommen und auch ein paar von /xsp/.ibmxspres/.extlib/dijit/

UPDATE: Meine XSP Einstellungen:

xsp.ajax.renderwholetree=false 
xsp.error.page.default=true 
xsp.persistence.mode=fileex 
xsp.resources.aggregate=true 
xsp.user.timezone=true 
xsp.html.doctype=html 
xsp.theme.mobile.pagePrefix=m_ 
xsp.application.forcefullrefresh=true 
xsp.library.depends=com.ibm.xsp.extlib.library 
xsp.min.version=9.0.1 
xsp.theme=vi.theme 

UPDATE: ich eine dynamic Kontrolle bin mit der lädt automatisch ein benutzerdefiniertes Steuerelement, das eine Anzahl von Steuerelementen enthält, die Dojo verwenden. Dies führt dazu, dass die XPages-Engine eine Reihe von Skript-Tags mit dojo.require() - Aufrufen generiert. Diese Anrufe verursachen über 100 xhr Anfragen von dojo.js.

+0

Gibt es viele Dateien aus "nls" -Verzeichnissen, z.B. "http: // myserver/xsp/.ibmxpres/dojoroot-1.9.7/ibm/xsp/widget/layout/nls/xspClientDojo.js"? –

+0

@ BrianGleeson-IBM Sie kommen fast alle aus /xsp/.ibmxspres/dojoroot-1.9.7-u/dijit/ und /xsp/.ibmxspres/dojoroot-1.9.7-u/dojo/ und auch ein paar von /xsp/.ibmxspres/.extlib/dijit/ – jpishko

Antwort

4

Meine Lösung die dojo.require enthalten war() aufruft, dass der XPages-Motor wurde autogenerating in meiner benutzerdefinierten Kontrolle in meinem Thema eine Ressource-Tag:

<resources> 
     <dojoModule target="xsp" name="dojo.parser"></dojoModule> 
     <dojoModule target="xsp" name="extlib.dijit.DynamicContent"></dojoModule> 
     <dojoModule target="xsp" name="dextlib.dojo.helper.IFrameAdjuster"></dojoModule> 
     <dojoModule target="xsp" name="dijit.Toolbar"></dojoModule> 
     <dojoModule target="xsp" name="dijit.form.Button"></dojoModule> 
     <dojoModule target="xsp" name="extlib.dijit.Menu"></dojoModule> 
     <dojoModule target="xsp" name="extlib.dijit.Tabs"></dojoModule> 
     <dojoModule target="xsp" name="extlib.dijit.TabPane"></dojoModule> 
     <dojoModule target="xsp" name="dijit.form.DateTextBox"></dojoModule> 
     <dojoModule target="xsp" name="dijit.form.TimeTextBox"></dojoModule> 
    </resources> 

Dies führt dazu, dass die Dojo-js-Dateien aggregiert werden. Die Anzahl der Anfragen ging danach von 134 auf 28.

+0

Sie sollten Ihre eigene Antwort als akzeptiert markieren: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

+1

Ja, werde ich. Es lässt mich zwei Tage warten. Danke für Ihre Hilfe. – jpishko

2

Die -u in diesen Pfaden gibt an, dass es die unkomprimierten Dojo-Dateiressourcen lädt. Dies deutet darauf hin, dass die Aggregation nicht aktiviert ist. Wenn Sie sich den Quellbereich der xsp-Eigenschaften Ihrer Anwendung ansehen, sollte diese Eigenschaft xsp.resources.aggregate=true den Ressourcenaggregator aktivieren. Und Sie sollten dies entfernen, wenn es da ist: xsp.client.resources.uncompressed=true. Sie entsprechen das Kontrollkästchen unten hervorgehoben:

enter image description here

+0

Ich habe die Aggregation ausgeschaltet, bevor ich die gewünschten Pfade gefunden habe. Es ist jetzt wieder da (dieselben Einstellungen wie in deinem Screenshot) und das '-u' ist von den Pfaden verschwunden, aber die Anzahl der xhr-Anfragen, die von dojo.js initiiert wurden, ist gleich. – jpishko

+0

Ich nehme an, dass keine Ressourcen wie diese aufgelistet sind? 'xsp/.ibmxpres/.mini/css-1.9.7-u/@ B3r & @ B3o & @ B3p & @ B3s.css',' xsp/.ibmxpres/.mini/dojo-1.9.7-u/.en-de/@ E0 & @ Ee & @ Ei' –

+0

Ich habe '/ xsp/.ibmxspres/.mini/css/@ B3r & @ B3o & @ B3m & @ B3p & @ B3s & 2Dbclaro.css.css' und' /xsp/.ibmxspres/.mini/dojo/.en-us/@ Ed & @ Eba.js'. Ich sehe nichts mit 'dojo.rpc.JsonService' darin. – jpishko

Verwandte Themen