0

我创建了一个角度库,比如说library1,它定义并公开了一个服务APIService。有APIService一个构造函数参数(URL: string),它被注入一个定义为的注入令牌,

const URL_TOKEN = new InjectionToken<string>('API_BASE_URL');

library1在另一个库中使用它,例如library2,我APIService在一个名为LoginComponent.

现在我有一个成熟的 Angular 应用程序,我使用 library2 中的 LoginComponent,我希望从应用程序provide中获取 value 。URL

我想知道是否有办法实现这一目标。我也不确定如何以一种很好的方式URL_TOKEN从一直到有角度的应用程序。library1

更新

当我尝试将 API_BASE_URL 作为注入时,

providers: [ {provide: new InjectionToken<string>('API_BASE_URL'), useValue: 'http://endpoint'} ]

我在浏览器中遇到异常:ERROR NullInjectorError: StaticInjectorError(AppModule)[InjectionToken API_BASE_URL]:

4

1 回答 1

0

我最终一直导出 URL_TOKEN。在浏览了一堆资源(堆栈溢出问题、github 帖子、角度文档等)之后,这似乎是正确的方法。

于 2019-07-04T15:57:43.410 回答