我更新了我的angular2项目,之前它工作正常。但是现在我收到以下错误:
Error: Uncaught (in promise): Error: Error in ./RibbonComponent class
RibbonComponent - inline template:4:5 caused by: No provider for
ComponentLoaderFactory!
Error: Error in ./RibbonComponent class RibbonComponent - inline
template:4:5 caused by: No provider for ComponentLoaderFactory!
ComponentLoaderFactory
export declare class ComponentLoaderFactory {
private _componentFactoryResolver;
private _ngZone;
private _injector;
private _posService;
constructor(componentFactoryResolver: ComponentFactoryResolver, ngZone: NgZone, injector: Injector, posService: PositioningService);
/**
*
* @param _elementRef
* @param _viewContainerRef
* @param _renderer
* @returns {ComponentLoader}
*/
createLoader<T>(_elementRef: ElementRef, _viewContainerRef: ViewContainerRef, _renderer: Renderer): ComponentLoader<T>;
}
我不确定还有什么要发布。我通过ncu
比ncu -u
更新了我的package.json。我想我发现了一个错误。我确实在GitHub上发现了一个帖子,但它没有帮助。 GitHub
如果我需要发布任何其他信息,请告诉我。
答案 0 :(得分:15)
不确定您使用的是哪些库,但在使用 ng2-bootstrap 时出现此错误。从此页面获得解决方案Ref angular-2-with-ng2-bootstrap-and-karma-testing-final-adventure。
基本上,问题在于导入需要调用.forRoot()
方法。也许在RibbonComponent或其他导入的库中寻找类似的东西。
答案 1 :(得分:5)
例如,您正在使用ngx-bootstrap的模态,那么您应该在spec.ts中导入模块,如: -
ModalModule.forRoot()
希望这有帮助
答案 2 :(得分:0)
像这样在您的spec.ts文件中导入模式模块:
import { ModalModule } from 'ngx-bootstrap';
....
imports: [ModalModule.forRoot()],
答案 3 :(得分:0)
就我而言,我的测试缺少此导入:
TooltipModule.forRoot()
奇怪的是,对于其他模块,例如 ModalModule
,我得到了一个正确的错误,指出我缺少的提供程序,但不是这个。