错误:MyComponent不能用作EntryComponent
以上ng build
时收到的错误消息。该组件来自另一个自定义角度包的模块。
最有趣的是,如果我提供服务并再次保存模块,错误就会消失。但是有了ng build
,它就保留了。
还请注意,MyComponent
还在内部基于输入属性创建动态组件。
答案 0 :(得分:0)
您是否尝试过将组件添加到模块的entryComponents
答案 1 :(得分:0)
在忘记用@Component{ ... })
装饰组件类之后,我收到了此错误。
添加组件装饰器可解决此问题。
答案 2 :(得分:0)
就我而言,我可以访问自定义库,即使将组件添加到库模块内的entryComponents
后,错误仍然存在。原来是由于我的index.ts
文件所致:在库模块的文件夹中,我有一个index.ts
文件,该文件正在重新导出模块及其组件。在库的public_api.ts
内部,我使用了index.ts
的导出,因此看起来像这样:
...
export * from './lib/shell';
以某种方式Angular不喜欢库中的index.ts
文件,但我得到了错误(语言服务也抛出错误,无法识别标签)。将index.ts
更改为public-api.ts
可以解决此问题:
...
export * from './lib/shell/public-api';
答案 3 :(得分:-1)
您需要在组件中插入Service或它是任何父组件。我在app.module.ts中添加了以下服务,该服务实例将在所有子组件中可用。
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { MyComponent } from 'Service path';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [MyComponent],
bootstrap: [AppComponent]
})
export class AppModule { }