导入定制的Angular库时出现StaticInjectorError

问题描述 投票:0回答:1

我已经建立了自己的Angular库(称为ProcessorModule),并希望在其他应用程序中使用它。但是,无论何时导入库,都会出现以下错误:

StaticInjectorError(AppModule)[StatusComponent -> MainProcessComponent].
NullInjectorError: No provider for MainProcessComponent!

这发生在MainProcessComponent的html中,该html具有嵌套的StatusComponent(特别是当我使用'status'选择器时:

/* MainProcessComponent.html */
<h2>This is the MainProcessComponent view</h2>

<div>
    <status></status>
</div>

这是我的processor.module.ts文件:

import { NgModule } from '@angular/core';
import { CommonModule } from "@angular/common";
import { FormsModule } from "@angular/forms";
import { HttpClientModule } from "@angular/common/http";

import { MainProcessComponent } from "./components/process.component";
import { StatusComponent } from "./components/status.component";

@NgModule({
  imports: [
    routing,
    CommonModule,
    FormsModule,
    HttpClientModule
  ],
  exports: [
    MainProcessComponent,
    ProcessComponent,
    StatusComponent
  ],
  declarations: [
    MainProcessComponent,
    ProcessComponent,
    StatusComponent
  ],
  bootstrap: [

  ]
})
export class ProcessorModule { }

我为ProcessorModule构建/打包.tgz文件,然后使用]将其导入我的外部应用程序中>

import { ProcessorModule} from "processor-module";

@NgModule的导入部分中,我添加:

@NgModule({
    imports: [
        ...,
        ProcessorModule,
        ...
    ]
})
export class OutsideAppModule { }

请记住,上面的代码已简化,以帮助说明我的问题。我认为将这两个组件都添加到processor.module.ts的“导出”部分将解决我的问题。谁能看到我到底在做什么错?

EDIT:

我已经将MainProcessComponent添加到processor.module.ts的“ exports”和“ declarations”部分,但是仍然出现相同的错误。

我已经建立了自己的Angular库(称为ProcessorModule),并希望在其他应用程序中使用它。但是,每当导入库时,都会出现以下错误:StaticInjectorError(AppModule)[...

html angular dependency-injection angular7 angular-library
1个回答
1
投票

[MainProcessComponent未在processor.module.ts的导出数组中导出。

© www.soinside.com 2019 - 2024. All rights reserved.