我正在使用Esri的ArcGis CDN,我希望有一些自定义模块。我的目录结构如下
Scripts
app
basemap.js
test.js
Views
Maps
General.cshtml
在General.html
中,我有这个作为我的dojo配置
<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>
在test.js中测试使用情况
require([
"dojo/ready",
"app/basemap"
], function (ready, basemap) {
basemap.test();
}
如果我使用绝对路径location: 'http://localhost:53862/Scripts/app'
,那么它工作得很好。
我为''
尝试过其他一些东西,但我似乎无法从Maps
文件夹导航到我的app
文件夹。我看过的所有示例要么为位置指定一个子目录,要么指定一个绝对路径。我能不能做点像../Scripts/app
这样的事
发布于 2013-12-19 08:14:55
我将dojoconfig更改为
<script data-dojo-config="
packages: [ {
name: 'app',
location: '//' + window.location.host + '/Scripts/app'
} ]"
src="//js.arcgis.com/3.7/"></script>
将我的app
包设置为http://localhost:53862/Scripts/app
发布于 2013-12-18 07:12:40
我建议你读“使用dojoConfig配置Dojo”和“使用CDN的自定义模块”。
例如谷歌CDN。
dojo,查看属性baseUrl
<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>
之后,测试您的自定义模块
require([
"dojo/ready",
"app/basemap"
], function (ready, basemap) {
basemap.test();
}
https://stackoverflow.com/questions/20638824
复制相似问题