我创建了一个HttpService来处理对后端的http请求,这个服务将其方法继承到其他服务,这些服务通过构造函数为后端提供端点。
到目前为止,在本地机器上进行测试时,到目前为止我还没有遇到任何问题。只有在为prod构建时才会出现此错误。
这是HttpService:
import { Injectable } from '@angular/core';
import { Http, Response, RequestOptions, Headers, ResponseContentType } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import { Observable } from 'rxjs/Observable';
import { backendURL } from './../../../environments/environment';
@Injectable()
export class HttpService {
protected url: string;
protected token: string;
constructor(
protected http: Http,
protected endpoint: String,
private parentEndpoint: String
) {
this.url = backendURL;
this.token = '?token=' + localStorage.getItem('token');
}
.
.
.
}
以及如何将其继承到其他服务的示例:
import { Http } from '@angular/http';
import { Injectable } from '@angular/core';
import { HttpService } from './../http/http.service';
@Injectable()
export class CourseService extends HttpService {
constructor(http: Http) { super(http, '/endpoint', '/parentEndpoint/'); }
}
我不确定我在这里错过了什么?我看到其他帖子中这个错误是由循环依赖引起的,但我不认为这是在这里的情况,除非我错过了明显的错误。
答案 0 :(得分:0)
正如评论中所建议的那样,我将Injectable装饰器带到了类中,但我还必须从AppModule的providers数组中删除HttpService。
这就成了伎俩。