使用Durandal dojoConfig和ESRI地图
我试图让ESRI地图与Durandal一起工作,并在Durandal文档中发现了此链接 这似乎可行,但现在Durandal在查找我的一些.js文件时遇到了问题。如果我不使用下面的dojoConfig,我的脚本会被找到,但是映射将无法工作使用Durandal dojoConfig和ESRI地图,dojo,durandal,esri,Dojo,Durandal,Esri,我试图让ESRI地图与Durandal一起工作,并在Durandal文档中发现了此链接 这似乎可行,但现在Durandal在查找我的一些.js文件时遇到了问题。如果我不使用下面的dojoConfig,我的脚本会被找到,但是映射将无法工作 `var dojoConfig = { baseUrl: './', async: true, tlmSiblingOfDojo: true, parseOnLoad: false, aliases: [['text',
`var dojoConfig = {
baseUrl: './',
async: true,
tlmSiblingOfDojo: true,
parseOnLoad: false,
aliases: [['text', 'dojo/text']],
packages: [
{ name: 'esri', location: '//serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/esri' },
{ name: 'dojo', location: '//serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/dojo/dojo' },
{ name: 'dojox', location: '//serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/dojo/dojox' },
{ name: 'dijit', location: '//serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/dojo/dijit' },
{ name: 'durandal', location: 'App/durandal' },
{ name: 'views', location: 'App/views' },
{ name: 'viewmodels', location: 'App/viewmodels' },
{ name: 'lib', location: 'App/lib' }
]
};`
我的应用程序结构如下所示:
- 应用程序
- 杜兰达尔
- 解放党
- 服务
- 视图模型
- 观点
有什么想法吗?我在使用Esri加载AMD模块时遇到了类似的问题。我使用与您类似的配置解决了此问题,但使用以下baseurl:
baseUrl:location.pathname.replace(/\/[^/]+$/,'')+'/path/to/app/main'
正如Jeffrey Grajkowski在这里回答我的问题时所描述的那样:因此对于我的Durandal+Esri+Dojo场景,我不得不省略Durandal中包含的require.js文件,并使用Dojo AMD加载程序。不幸的是,我不知道这可能会导致未来的问题。
可以找到更多信息我用你的方法让它工作起来,但出于某种原因,我不得不添加一个额外的“/App”对于路径…+“/App/App”,我还必须使用问题中链接中修改过的dojo.js。我不确定为什么它需要添加a
App
,但很高兴你让它工作。我在尝试将更改集成到实际应用程序时遇到了更多问题。在我的应用程序中,我们显式地加载require.js,如下所示:当我这样做时,它会在本地主机上搜索esri文件并获得404。我猜当我没有包括durandals require.js时,它最终会使用dojo AMD