"Нет поставщика для ViewContainerRef" при использовании компонента ng-packagr

Я создал библиотеку компонентов, используя угловой ng generate library с компонентом, который использует *ngIf внутри модуля.

После успешной сборки и установки библиотеки в моем основном проекте, когда я пытаюсь использовать компонент, который я получаю No provider for ViewContainerRef ошибка.

Версии:

@ angular / cli версия: "~ 7.0.6",

@ angular / * версия: "~7.0.0"

Ошибка:

ОШИБКА Ошибка: StaticInjectorError(AppModule)[NgIf -> ViewContainerRef]: StaticInjectorError(Платформа: ядро)[NgIf -> ViewContainerRef]: NullInjectorError: Нет поставщика для ViewContainerRef!

составная часть:

import {Component, OnInit, Input} from '@angular/core';

@Component({
  selector: 'al-card',
  templateUrl: './card.component.html',
  styleUrls: ['./card.component.scss']
})
export class CardComponent implements OnInit {

  @Input() header: string;
  @Input() text: string;

  constructor() { }

  ngOnInit() {
  }

}

шаблон:

<div *ngIf="header">

</div>

модуль:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { CardComponent } from './card.component';

@NgModule({
  declarations: [CardComponent],
  imports: [
    CommonModule
  ],
  exports: [CardComponent],
})
export class CardModule { }

1 ответ

Решение

Я обнаружил проблему, она решена путем добавления "preserveSymlinks": true в файл angular.json моего основного проекта.

"architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "preserveSymlinks": true,
             ...

вот где я нашел решение: https://github.com/angular/angular-cli/issues/10896

Другие вопросы по тегам