我正在尝试使用Angular2的自定义渲染器.
我已经设置了一个简单的示例项目,其中包含AppComponent我想在Node.js上运行的最小Angular2应用程序().我已经实现了一个自定义的DomAdapter和一个自定义渲染器(只是一个应该登录到控制台的虚拟),然后我尝试在一些自定义引导代码中连接所有内容.
目前,我遇到以下错误消息:
Error: No precompiled component AppComponent found
at new BaseException (/home/ralf/git/node-angular-example/node_modules/angular2/src/facade/exceptions.js:15:23)
at Compiler_.compileInHost (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/linker/compiler.js:47:19)
at DynamicComponentLoader_.loadAsRoot (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/linker/dynamic_component_loader.js:101:31)
at di_1.provide.useFactory (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/application_ref.js:29:47)
at Injector._instantiate (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/di/injector.js:763:27)
at Injector._instantiateProvider (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/di/injector.js:714:25)
at Injector._new (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/di/injector.js:703:21)
at InjectorInlineStrategy.getObjByKeyId (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/di/injector.js:216:33)
at Injector._getByKeyDefault (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/di/injector.js:899:37)
at Injector._getByKey (/home/ralf/git/node-angular-example/node_modules/angular2/src/core/di/injector.js:845:25)
Run Code Online (Sandbox Code Playgroud)
有人可以解释这意味着什么,缺少什么?
更新:
正如Tobias Bosch指出的那样,COMPILER_PROVIDERS失踪了.但是,添加它们后,我得到另一个错误:
Error: DI Exception
at NoProviderError.BaseException [as constructor] (/home/ralf/git/angular2-renderer-example/node_modules/angular2/src/facade/exceptions.js:15:23)
at NoProviderError.AbstractProviderError [as constructor] (/home/ralf/git/angular2-renderer-example/node_modules/angular2/src/core/di/exceptions.js:38:16)
at new NoProviderError (/home/ralf/git/angular2-renderer-example/node_modules/angular2/src/core/di/exceptions.js:74:16)
at Injector._throwOrNull (/home/ralf/git/angular2-renderer-example/node_modules/angular2/src/core/di/injector.js:854:19)
at Injector._getByKeyDefault (/home/ralf/git/angular2-renderer-example/node_modules/angular2/src/core/di/injector.js:905:21)
at …Run Code Online (Sandbox Code Playgroud) 我有个问题:
将ElementRef.nativeElement用于读取属性值(例如'scrollHeight')计为DOM交互并因此打破Angular Universal?
ElementRef似乎是从元素中读取属性的唯一方法:https://stackoverflow.com/a/38037240/5565132
例:
HTML:
<div #test1></div>
Run Code Online (Sandbox Code Playgroud)
TS:
@ViewChild('test1') test1: ElementRef;
ngOnInit() {
console.log(this.test1.nativeElement.scrollHeight);
}
Run Code Online (Sandbox Code Playgroud)