2017-11-09 8 views
0

Complete error logs점점 multipleDefine (dojoloader) 오류 나는 각 1.6을 사용하고

을 esrimap 사용하려고 로딩 esrimap 4.4 argis 때. 'angular-esri-map.js'로드에 'defer'키워드를 사용했지만 작동하지 않았습니다. SPA 응용 프로그램에서 esri-map을 성공적으로 렌더링 할 수 있습니다. 하지만 엔터프라이즈 응용 프로그램에 통합하려고 할 때 중단됩니다.

내가 방법 난 우리의 응용 프로그램 =>

'ngAnimate', 
    'ngCookies', 
    'ui.router', 
    'esri.map', 
    'ngSanitize', 
    'ngTouch', 
    'angular-carousel', 
    'd3'  

에 따라 이미지에 추가 =>

 <script src="assets/angular.js"></script> 
     <script src="https://js.arcgis.com/4.4/"></script> 
     <script defer src="assets/angular-esri-map.js"></script> 

다음 종속성을 다음 JS를 로딩하고하는 것은 =>

을 깨는 로그를 보여줍니다

누군가가이 'multipleDefine'dojoloader 오류를 수정하는 데 도움을 주면 큰 도움이됩니다.

답변

0

도조 AMD 로더는 다른 로더와 충돌이 있다고 생각합니다. 그러나 이것을 막을 수있는 방법이 있습니다. 다음 코드는 충돌하는 Dojo amd 로더를 다른 임시 메소드로 이동시키고 다른 모든 스크립트가로드 된 후 복원됩니다.

<script type="text/javascript">if (typeof define === 'function' && define.amd) {if(define.amd.vendor =='dojotoolkit.org'){define._amd = define.amd;delete define.amd;}</script> 

을 그리고 당신은 당신의 질문에 추가 한 것처럼 다른 모든 스크립트를로드

는 dojo.js가 (머리에) 페이지에로드 된 직후이 추가. 이 모든 것이 제대로 작동합니다 후

<script type="text/javascript">if (typeof define === 'function' && define._amd) {define.amd = define._amd; delete define._amd;}</script> 

: 모든 스크립트가로드 될 때 그런 다음,이 스크립트를 추가합니다.