Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Cli-找不到Dojo模块_Angular_Dojo_Arcgis_Typescript Typings_Esri - Fatal编程技术网

Angular Cli-找不到Dojo模块

Angular Cli-找不到Dojo模块,angular,dojo,arcgis,typescript-typings,esri,Angular,Dojo,Arcgis,Typescript Typings,Esri,我正在用Argis4.8JSAPI开发一个angular应用程序。我需要Dojo/On函数。我也没有在编译器中得到错误。但是当我编译时,我得到了错误“modulenotfound:error:cannotresolve'dojo/on'path”。我不能使用Dojo类。我该怎么办 我的完整代码 从'@angular/core'导入{Component,OnInit,ViewChild,ElementRef,Input,Output,EventEmitter}; 从“esri加载程序”导入{loa

我正在用Argis4.8JSAPI开发一个angular应用程序。我需要Dojo/On函数。我也没有在编译器中得到错误。但是当我编译时,我得到了错误“modulenotfound:error:cannotresolve'dojo/on'path”。我不能使用Dojo类。我该怎么办

我的完整代码

从'@angular/core'导入{Component,OnInit,ViewChild,ElementRef,Input,Output,EventEmitter};
从“esri加载程序”导入{loadModules};
导入esri=uu esri;
导入on=require('dojo/on');
函数executeIdentifyTask(事件:事件|未定义){
console.log(事件);
}
@组成部分({
选择器:“应用程序esri映射”,
templateUrl:'./esri map.component.html',
样式URL:['./esri-map.component.css']
})
导出类EsriMapComponent实现OnInit{
@ViewChild('mapViewNode')私有mapViewEl:ElementRef;
构造函数(){
}
map:esri.map;
地图视图:esri.mapView;
图层:esri.MapImageLayer;
IdentificationTask:esri.IdentificationTask;
异步初始化映射(){
试一试{
常量[EsriMap、EsriMapView、MapImageLayer、IdentifyTask、IdentifyTaskProperties]=等待加载模块([
“esri/Map”,
“esri/views/MapView”,
“esri/layers/MapImageLayer”,
“esri/tasks/IdentificationTask”,
“esri/任务/支持/识别参数”
]);
this.map=新EsriMap({
底图:“深灰色”
});
this.mapView=new EsriMapView({
容器:this.mapViewEl.nativeElement,
中间:[27.1428,38.4237],
缩放:15,
地图:这是地图
});
this.layer=新的MapImageLayer(
{url:'https://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer'});
this.map.add(this.layer);
this.mapView.when(函数(){
打开(this.mapView,'click',executeIdentifyTask);
});
}捕获(错误){
log('我们有一个错误:'+错误);
}
}
恩戈尼尼特(){
这个.initializeMap();
}
}

我知道我来晚了一点,但对于其他有类似问题的人,我发现这些错误通常是由于没有将类型放入
类型:[]中而导致的,这些错误被描述为可以按F12键查找类型,但无法正确编译
tsconfig.app.json中的数组


我在导入
\uu esri
时遇到了类似的问题,并在src/app/esri map/esri map.component.ts(16,15)中不断收到以下错误
错误:错误TS2503:找不到命名空间“\uu esri”。
并且在我的
tsconfig.app.json
中添加
arcgis js api”
后,我的问题解决了。

您不应该像从“dojo”导入{on}一样导入它吗?
?是的,我试过了。但我犯了这个错误。TS2305:模块“dojo/on”没有导出的成员“on”。请在安装
dojo typings
模块后尝试相同的操作,而不是使用参考
//
?我安装了模块。编译器似乎也没有问题。我也可以在按下F12键时转到该功能。但我在编译时出错。请尝试在
script
中添加
index.html
tag中的
.js