私のrequireJSスクリプトは、私のプログラムを最初からハングする約500のHTTPリクエストです。私はgulpとgulp-requirejs(オプティマイザ)を使用していますが、HTTPリクエストの数を減らす方法はほとんどわかりません(ほとんどArcGIS JS 4.0 APIを使用しています)。私はこれをどのように制限することができるか、誰にも分かりますか?RequireJS:複数のHTTPリクエストを作成するonload
私はこの質問を見ているが、私は実際にrequirejsでこれを達成するかどうかはわかりません:https://gis.stackexchange.com/questions/33182/does-the-arcgis-javascript-api-let-me-build-package-my-application-using-dojo
コンフィグコード:
私のモジュールの1つにArcGISのJS 4.0 APIを使用してrequirejs.config({
paths: {
"jquery": 'https://code.jquery.com/jquery-3.1.0.min',
'moment/moment': 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment',
"esri": 'http://js.arcgis.com/4.0/esri',
"dojo": 'http://js.arcgis.com/4.0/dojo',
"dojox": 'http://js.arcgis.com/4.0/dojox',
"dijit": 'http://js.arcgis.com/4.0/dijit'
},
shim: {
...
"map": {
deps: [ 'jquery', 'esri', 'dojo']
},
}
});
:
define('map',["jquery","esri/Color",
"esri/geometry/Point",
"esri/geometry/Polygon",
"esri/symbols/SimpleFillSymbol",..],function(...){
});
UPDATE: だから、(イサキを使用)のArcGIS JS APIを構築した後、I I main.js(見つかったdistフォルダ)をプロジェクトにncludedします。しかし、APIのローカルコピーは私にエラーを与えます:
XMLHttpRequestはhttp://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=jsonをロードできません。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。 Origin 'http://localhost:4000'はアクセスできません。応答にHTTPステータスコード501がありました。
代わりに、arcgis jsライブラリがこの呼び出しを行っています。私はarcgis js APIをビルドするときにgrunt configに含まれていたはずのライブラリを忘れていますか?
のArcGIS JS APIのための面倒なファイルの設定:
...
include: [
'requirejs/require',
'esri/layers/FeatureLayer',
'esri/layers/TileLayer',
'esri/layers/support/LabelClass',
'esri/layers/graphics/controllers/SnapshotController',
'esri/portal/support/layersCreator',
'esri/views/3d/layers/TiledLayerView3D',
'esri/views/layers/GraphicsLayerView',
'esri/views/3d/webgl-engine/lib/FloatingBoxLocalOriginFactory',
'esri/views/3d/webgl-engine/lib/Layer',
'esri/views/3d/webgl-engine/lib/MaterialCollection',
'esri/views/3d/webgl-engine/lib/Octree',
'esri/views/3d/webgl-engine/lib/TextTextureAtlas',
'esri/views/MapView',
'esri/views/2d/layers/GraphicsLayerView2D'
],
exclude: [
'dojo/domReady',
'dojo/has',
'dgrid',
'dojo/i18n', // some methods not available with RequireJS
],
...
私はrequirejsのカスタムビルドを試してみましたが、私はarcgis js apiのすべてのフォルダを持っていますが、次に何をすべきかわかりません。 init.jsを使いたければどうすればいいですか?これを解決するにはどうすればいいのか分かりますか? – mddev
init.jsファイルについては、私はこの質問http://gis.stackexchange.com/questions/133795/running-arcgis-api-for-javascript-locallyに記載されているように以下の設定を行っていますが、どのように参照するのですか私のrequirejsアプリケーションで? – mddev
@mddev githubであなたのアプリケーションを共有できますか?あなたがこれまで行ってきたことを見てみることができます。実際のアプリケーションではなく、単純なアプリケーションにすることができます。 –