2016-05-17 8 views
0

4.0 ArcGIS Javascript APIのベータ3バージョンから4.0 Javascript APIの新しいリリースにアプリケーションを切り替える際に、いくつかの問題が発生しています。ESRI Javascript 4.0 APIをRequire JSで使用する

私は4.0のJavaScript APIのベータ3バージョンを使用する場合の作業マップを持っていたと設定されていたが、この

requirejs.config({ 
    baseUrl: "/App/", 
    paths: { 
     "text": "/Scripts/text", 
     "moment": "/Scripts/moment", 
     "durandal": "/Scripts/durandal", 
     "plugins": "/Scripts/durandal/plugins", 
     "transitions": "/Scripts/durandal/transitions", 
     "esri": "//js.arcgis.com/4.0beta3/esri", 
     "dojo": "//js.arcgis.com/4.0beta3/dojo", 
     "dojox": "//js.arcgis.com/4.0beta3/dojox", 
     "dijit": "//js.arcgis.com/4.0beta3/dijit", 
    }, 
}); 

などのベータ3バージョンで正しくモジュールをロードするためにJSを要求しかし、私は4.0beta3からの切り替え後ちょうど4.0

requirejs.config({ 
    baseUrl: "/App/", 
    paths: { 
     "text": "/Scripts/text", 
     "moment": "/Scripts/moment", 
     "durandal": "/Scripts/durandal", 
     "plugins": "/Scripts/durandal/plugins", 
     "transitions": "/Scripts/durandal/transitions", 
     "esri": "//js.arcgis.com/4.0/esri", 
     "dojo": "//js.arcgis.com/4.0/dojo", 
     "dojox": "//js.arcgis.com/4.0/dojox", 
     "dijit": "//js.arcgis.com/4.0/dijit", 
    }, 
}); 

には、このスクリプトをロードしようとしているマップをロードしようとしたとき、私はエラーを取得し、それは404

http://localhost:17654/Scripts/moment/moment.js 
を与えます

私はESRI Apiが独自の瞬間プラグインを使用しているので、私はすでに何時か定義しているので、このスクリプトを読み込もうとしていると思う。esriモジュールをロードする代わりにlocalhostを見ようとする。私はjavascriptのAPIは、独自のバージョンを使用しています知っているが何もマップが

requirejs.config({ 
    baseUrl: "/App/", 
    paths: { 
     "text": "/Scripts/text", 
     "moment": "/Scripts/moment", 
     "durandal": "/Scripts/durandal", 
     "plugins": "/Scripts/durandal/plugins", 
     "transitions": "/Scripts/durandal/transitions", 
     "esri": "//js.arcgis.com/4.0/esri", 
     "dojo": "//js.arcgis.com/4.0/dojo", 
     "dojox": "//js.arcgis.com/4.0/dojox", 
     "dijit": "//js.arcgis.com/4.0/dijit", 
    }, 
    map: { 
     "*": { 
      "moment/moment": "moment" 
     } 
    } 
}); 

を示していない私がして、いくつかの異なる構成を試してみた

が必要とこれでノーJavaScriptのエラーでロードするページを取得することができますdojoはモジュールロードを処理することになっていますので、require jと混合することさえできないかもしれませんが、beta3でうまくいきましたので、この瞬間のプラグインを正しくロードしてマップを取得する方法を見つけたいと考えていますrequire jsを使って作業する。

誰もがこの2つを連携させる経験はありますか?どんな助けも大歓迎です。ありがとう

答えて

2

requirejsで動作するはずですが、APIを使用しているesriのAMDローダーの代わりに特別な理由がありますか?それらを使用すると、一般的には簡単になりますが、esriがすでにパッケージ/エイリアスを定義しているので、おそらくローダーを使用して同じ問題に遭遇します。あなたが試みることができるかもしれない1つのことはあなたのパスのために違った名前をつけることです。 ESRIはまだ彼らのmomentを必要とすることができ、あなたのlocal-momentを必要とする可能性がある

requirejs.config({ 
    baseUrl: "/App/", 
    paths: { 
    "text": "/Scripts/text", 
    "local-moment": "/Scripts/moment", 
    "durandal": "/Scripts/durandal", 
    "plugins": "/Scripts/durandal/plugins", 
    "transitions": "/Scripts/durandal/transitions", 
    "esri": "//js.arcgis.com/4.0/esri", 
    "dojo": "//js.arcgis.com/4.0/dojo", 
    "dojox": "//js.arcgis.com/4.0/dojox", 
    "dijit": "//js.arcgis.com/4.0/dijit", 
    }, 
}); 

この方法:このような何か。

+0

doriの代わりにrequire jsに依存する単一ページアプリケーションフレームワークとしてDurandalを利用しているため、esri AMDローダの代わりにrequire JSを使用しています。 – user501211

+0

Ahh ok cool、設定がしっかりしていれば、実際に一緒に作業しても問題はないはずです。 –

+0

設定をこれまでに少し修正しました。 もう1つのパス「モーメント/モーメント」を追加しました:「//js.arcgis.com/4.0/moment/moment」 そして、ページは実際にはmoment.jsエラーなしでロードされますが、マップには表示されなくなりましたアップ。以前と同じベータ3バージョンのコード – user501211

-2

あなたのフォルダにScripts/moment/moment.jsファイルがあるとすれば、すべてうまくいくと思います。

関連する問題