Angular 导入的库出现 forRoot 抛出错误

Angular imported library with forRoot throwing error

我有一个库,其中设置了静态 forRoot 方法,这要归功于我问的另一个问题:

在另一个项目中使用这个库时就会出现问题。 我已经导入了这样的模块:

imports: [
  ImagesModule.forRoot({ cloudName: environment.cloudinary.name }),
],

这可以编译,但是如果我查看 chrome 我有这个错误:

有人知道为什么吗?

我修好了;我正在关注这篇文章:

https://www.usefuldev.com/post/Angular:%20Creating%20configurable%20libraries%20with%20angular%20cli

如果您注意到它确实声明了这个常量:

import { InjectionToken } from '@angular/core';
import { NormalLibConfig } from './normal-lib-config';

export const NORMAL_LIB_CONFIG = new InjectionToken(
  'NORMAL_LIB_CONFIG'
);

我注意到,即使它导入 NormalLibConfig,它也从未实际使用它。所以我用谷歌搜索 InjectionToken,发现它是一个通用的 class。所以我将我的实现更新为:

import { InjectionToken } from '@angular/core';
import { ImagesConfig } from './images-config';

export const IMAGES_CONFIG = new InjectionToken<ImagesConfig>('IMAGES_CONFIG');

这解决了问题