Angular CLI 2错误无法通过AOT生成解析XXXXX的所有参数 [英] Angular cli 2 Error Can't resolve all parameters for XXXXX by AOT build
问题描述
import { Injectable, Inject } from '@angular/core';
import { Subject } from "rxjs/Subject";
import { CompleterData, CompleterItem } from 'ng2-completer';
import { ProgramService } from '../program.service';
import { asEnumerable } from 'linq-es5';
import { CacheService } from '../../../core/services/cache.service';
@Injectable()
export class ProgramIntelligentSearch extends Subject<CompleterItem[]> implements CompleterData {
constructor(private programService: ProgramService,
private cacheService: CacheService,
@Inject(Array) private lessonTypes: Array<any>,
@Inject(Array) private programTypes: Array<any>,
@Inject(Array) private languages: Array<any>
) {
super();
}
--------------------------------------------------------------------------
import { Observable } from "rxjs/Observable";
import { CompleterItem } from "../components/completer-item";
export interface CompleterData extends Observable<CompleterItem[]> {
search(term: string): void;
cancel(): void;
convertToItem?(data: any): CompleterItem;
}
------------------------------------------------------------------
Use ng build --prod --aot
无法解析D:/Git/xxxxxxx/Application/Htm
l5/src/app/shared/service/search/program-intelligent-search.ts: ([object Object], [object Object], ?, ?, ?)
ERROR in Can't resolve all parameters for ProgramIntelligentSearch
in D:/Git/xxxxxxx/Application/Htm
l5/src/app/shared/service/search/program-intelligent-search.ts: ([object Object], [object Object], ?, ?, ?)
./src/main.ts中的错误 找不到模块:错误:无法解析'D:\ Git \ cosmos-main-html5 \ App中的'./$$_gendir/app/app.app.module.ngfactory' lication \ Html5 \ src' @ ./src/main.ts 4:0-74 @ multi ./src/main.ts
ERROR in ./src/main.ts Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'D:\Git\cosmos-main-html5\App lication\Html5\src' @ ./src/main.ts 4:0-74 @ multi ./src/main.ts
推荐答案
您将必须添加@Inject,以便可以解决其依赖性.
You will have to add @Inject so that its dependency can be resolved.
因此对于服务内部的自定义服务,请使用@Inject注入其依赖项
So for custom services inside your service Inject its dependency with @Inject
在您的代码中,将您的自定义服务替换为
In your code replace your custom services with
@Inject(ProgramService) private programService: ProgramService, @Inject(CacheService) private cacheService: CacheService,
您可以从此博客中深入了解它. https://blog. Thoughtram.io/angular/2015/09/17/resolve-service-dependencies-in-angular-2.html
You can understand it deeply from this blog. https://blog.thoughtram.io/angular/2015/09/17/resolve-service-dependencies-in-angular-2.html
这篇关于Angular CLI 2错误无法通过AOT生成解析XXXXX的所有参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!