Angular Сборка Libray завершается с ошибкой при передаче параметров с помощью конструктора - PullRequest
0 голосов
/ 13 февраля 2020

вот мой библиотечный сервис:

import {Injectable} из '@ angular / core';

@ Injectable ({обеспечитьIn: 'root'})

export class SharedService {

    name: string;

    constructor(name) { 
        this.name = name;
    }

}

когда я делаю сборку как: ng build получаю ошибку как:

Compiling TypeScript sources through ngc
Warning: Can't resolve all parameters for SharedService in C:/722333/Tutorials/my-workspace/projects/ibo-shared-lib/src/lib/services/shared.service.ts: (?). This will become an error in Angular v6.x
Warning: Can't resolve all parameters for SharedService in C:/722333/Tutorials/my-workspace/projects/ibo-shared-lib/src/lib/services/shared.service.ts: (?). This will become an error in Angular v6.x
ERROR: Can't resolve all parameters for SharedService in C:/722333/Tutorials/my-workspace/projects/ibo-shared-lib/src/lib/services/shared.service.ts: (?).

как это исправить? Какой правильный способ справиться с этим? заранее спасибо.

1 Ответ

2 голосов
/ 13 февраля 2020

вы должны будете использовать @inject в своем конструкторе, как показано ниже

export class SharedService {

name: string;

constructor(@inject('name') name) { 
    this.name = name;
}

}

, но тогда вам нужно будет предоставить поставщику зависимостей имя в вашем модуле согласно https://angular.io/guide/dependency-injection-providers (useValue / useExisting вид инъекции)

...