2013-12-17 3 views
1

Esri의 ArcGis CDN을 사용하고 있으며 일부 사용자 지정 모듈이 필요합니다. 그때 나는 절대 경로 location: 'http://localhost:53862/Scripts/app'를 사용하는 경우 General.html에서CDN이있는 사용자 지정 모듈

Scripts 
    app 
     basemap.js 
     test.js 
Views 
    Maps 
     General.cshtml 

내가 내 도장의 설정에 대한 test.js

require([ 
    "dojo/ready", 
    "app/basemap" 
], function (ready, basemap) { 

    basemap.test(); 

} 

에서

<script data-dojo-config="async: 1, dojoBlankHtmlUrl: '/blank.html', 
    packages: [ { 
     name: 'app', 
     //Can't configure location correctly 
     location: location.pathname.replace(/\/[^/]+$/, '') + '' 
    } ]" 
src="//js.arcgis.com/3.7/"></script> 

테스트 사용이가 다음과 같이 내 디렉토리 구조는 그것은 잘 작동합니다.

''에 대해 다른 몇 가지 시도를했지만 폴더에서 내 app 폴더로 이동할 수없는 것으로 보입니다. 내가 보았던 모든 예제는 위치에 대한 하위 디렉토리 또는 절대 경로를 지정합니다. ../Scripts/app과 같은 것을 할 수있는 방법이 있습니까?

답변

0

사용자 정의 모듈 테스트 후 속성 base을보고 어느 내 app 패키지를 http://localhost:53862/Scripts/app

1

나는 "Configuring Dojo with dojoConfig""Using Custom Modules with a CDN"을 읽는 것이 좋습니다.

예 : Google CDN.

도장 설정,

<script data-dojo-config="async: 1, 
       dojoBlankHtmlUrl: '/blank.html', 
       baseUrl: '/Scripts', 
       packages:[ 
       { name:'dojo',location:'//ajax.googleapis.com/ajax/libs/dojo/1.9.2/dojo/'}, 
       { name:'app',location:location.pathname.replace(/\/[^/]+$/, '') + 'app'}]" 
      src="//ajax.googleapis.com/ajax/libs/dojo/1.9.2/dojo/dojo.js"> 
</script> 

, 나는 다음과 같은

<script data-dojo-config=" 
    packages: [ { 
     name: 'app', 
     location: '//' + window.location.host + '/Scripts/app' 
    } ]" 
src="//js.arcgis.com/3.7/"></script> 

내 dojoconfig을 변경

require([ 
    "dojo/ready", 
    "app/basemap" 
], function (ready, basemap) { 

    basemap.test(); 

} 
+0

으로 설정합니다. baseUrl은 모든 패키지의 기본 URL을 지정합니다. 즉,'/ Scripts'에서 dojo 항목을 찾으려고 시도합니다. – Shoe

관련 문제