2016-04-27 2 views
3

私はdojo 1.9.7を提供するフィックスパック5でDomino 9.0.1を使用しています。私のxspプロパティでは、ランタイムに最適化されたJavaScriptとCSSリソースを使用するように設定しました。この設定では、XPageをロードするときにサーバーへの要求の数を大幅に減らすことが期待されていましたが、影響はわずかでした。Dojoがサーバーに対して行うリクエスト数を減らす方法は?

原因はdojo.jsです。これは、さまざまな.jsファイルとリソースファイルに対して100を超えるサーバーへの個別の要求を実行しています。私はこれらがdojoを利用している私が使用しているさまざまなコントロールから来ていると仮定します。これらのdojo要求を単一の要求に統合する方法はありますか?

UPDATE: マイXSPの設定::彼らはちょうど約すべての/xsp/.ibmxspres/.extlib/dijit/

UPDATEから/xsp/.ibmxspres/dojoroot-1.9.7/dijit//xsp/.ibmxspres/dojoroot-1.9.7/dojo/から来ても、いくつかされている

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: 私はDynamicContentにコントロールを使用していますdojoを使用するいくつかのコントロールを含むカスタムコントロールを自動的にロードしています。その結果、XPagesエンジンはdojo.require()呼び出しでスクリプトタグを生成します。これらの呼び出しは、dojo.jsによって100回以上のxhr要求を引き起こしています。

+0

"nls"ディレクトリから多数のファイルがありますか? 'http:// myserver/xsp/.ibmxspres/dojoroot-1.9.7/ibm/xsp/widget/layout/nls/xspClientDojo.js'? –

+0

@ BrianGleeson-IBMこれは/xsp/.ibmxspres/dojoroot-1.9.7-u/dijit/と/xsp/.ibmxspres/dojoroot-1.9.7-u/dojo/からのものです。 /xsp/.ibmxspres/.extlib/dijit/ – jpishko

答えて

4

私のソリューションは、(dojo.requireを含めるようにしたことのXPagesエンジンは、リソースタグを使用して、私のテーマで私のカスタムコントロールで自動生成されたことを呼び出します。

<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> 

この結果、dojo jsファイルが集計されます。これを行った後、要求数は134から28に増加しました。

+0

受け入れられたとしてあなた自身の答えをマークする必要があります:http://meta.stackexchange.com/questions/5234 /どういうことを受け入れるかの回答 –

+1

はい、できます。それは私を2日間待たせている。ご協力ありがとうございました。 – jpishko

2

これらのパスの-uは、非圧縮のdojoファイル・リソースをロードしていることを示します。これは、集約が有効になっていないことを示しています。

アプリケーションのxspプロパティのソースペインを見ると、リソースアグリゲータを有効にするこのプロパティーはxsp.resources.aggregate=trueである必要があります。そして、それがあればこれを取り除くべきです:xsp.client.resources.uncompressed=true。彼らは、以下の強調表示のチェックボックスに対応しています)

enter image description here

+0

あなたが求めたパスを得る前に集約をオフにしました。今度は(あなたのスクリーンショットと同じ設定です)、パスから '-u'がなくなりましたが、dojo.jsから開始されたxhrリクエストの数は同じです。 – jpishko

+0

私はこれらのようなリソースがリストされていないと思いますか? 'xsp/.ibmxspres/.mini/css-1.9.7-u/@ B3r&@ B3o&@ B3p&@ B3s.css'、xsp/.ibmxspres/.mini/dojo-1.9.7-u/.en-gb/@ E0&@ Ee&@ Ei' –

+0

私は '/ xsp/.ibmxspres/.mini/css/@ B3r&@B3o&@ B3m&@B3p&@ B3s&2Dbclaro.css.css'と' /xsp/.ibmxspres/.mini/dojo/.en-us/@ Ed&@ Eba.js'。私は 'dojo.rpc.JsonService'で何も表示されません。 – jpishko

関連する問題