Angular 角度服务方法不是功能产品构建

Angular 角度服务方法不是功能产品构建,angular,Angular,我试着让我的angular应用程序在prod模式下运行,以检查是否一切正常 该应用程序使用swapi获取演员,演员工作正常,除了在prod build中,然后我得到以下错误 this.dataService.getActors不是函数 这就是获得所有参与者的方法: 从'@angular/core'导入{Injectable}; 从'@angular/common/http'导入{HttpClient,HttpResponse}; 从“rxjs/Observable”导入{Observable}

我试着让我的angular应用程序在prod模式下运行,以检查是否一切正常

该应用程序使用swapi获取演员,演员工作正常,除了在prod build中,然后我得到以下错误

this.dataService.getActors不是函数
这就是获得所有参与者的方法:

从'@angular/core'导入{Injectable};
从'@angular/common/http'导入{HttpClient,HttpResponse};
从“rxjs/Observable”导入{Observable};
导入'rxjs/add/operator/map';
导入“rxjs/add/operator/catch”;
从“../interfaces/Actor”导入{IActor};
从“./error.service”导入{ErrorService};
/**
*SWAPI数据服务从他们的API中获取我们需要的所有信息
*/
@可注射()
导出类数据服务{
/**
*我们需要http客户端来获取API数据
*/
构造函数(私有http:HttpClient,公共错误:ErrorService){}
/**
*方法获取所有参与者
*/
getActors():可观察{
返回此.http.get(“//swapi.dev/api/people/”)
.map(数据=>{
返回数据[‘结果’];
});
}
/**
*方法通过参与者的ID获取参与者死亡
*/
getActorDetails(id:string):可观察{
返回此.http.get(`//swapi.dev/api/people/`+id+'/'))
.map(数据=>{
返回数据[‘结果’];
});
}
}
这就是我的组件中的调用:

从'@angular/core'导入{Component,OnInit,Input};
从“../../interfaces/Actor”导入{IActor};
从'@angular/common/http'导入{HttpClient};
从'@angular/Router'导入{Router};
从“../../services/data.service”导入{DataService};
@组成部分({
选择器:“应用程序参与者”,
templateUrl:“./actors list.component.html”,
样式URL:['./actors list.component.scss']
})
导出类ActorListComponent实现OnInit{
@Input()参与者:IActor[];
构造函数(专用路由器:路由器,专用http:HttpClient,专用数据服务:数据服务){}
ngOnInit():void{
this.dataService.getActors()
.subscribe((数据)=>{this.actors=data;});
}
}
这是全部文件,用来检查哪些地方不对。
我错过了什么?谢谢大家!

从数据服务中删除“root”中提供的,并添加@Injectable(),如下所示。还可以将数据服务添加到providers数组下的app.module.ts中。比如,提供者:[数据服务]

import {}

@Injectable()
export class DataService {
      // Your code
}

我看不出与代码相关的任何问题。也许,唯一的事情就是进口。在prod模式下,这可能是一个问题。试着改变这个

import { Observable } from 'rxjs/Observable';

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';  // You are not using this
对此

import { Observable } from 'rxjs';
import { map, catchError } from 'rxjs/operators';

我相信您正在构造函数中注入正确的“dataService”类,并且您的服务(dataService)具有注释“providedIn”。。。正当你也可以分享这个部分吗?谢谢,我需要重新安装rjxjs或compat吗?我无法从'rxjs/operators'导入{map,catchError};为什么不呢?有什么特别的错误吗?安装了哪个版本的rxjs,您是如何创建应用程序的?使用angular cli?我使用cli和rxjs 6.6以及compat 6.6.3创建了应用程序。如果我使用你的映射导入,那么map会给我一个错误,它是未使用的,但是我在我的data.service和getActors()中使用它:Observable{return this.http.get('//swapi.dev/api/people/').map(data=>{return data['results'];});}。我现在从映射管道(map)重构了它,非常感谢。