我正在使用angular-cli 1.2.6构建一个小型Angular 4应用程序。在开发过程中一切正常,并且使用ng build --dist
成功构建。但是在运行时,没有找到我用作服务的第三方供应商之一toastr
- 注入它时是undefined
。以下是我将其纳入项目的方法:
...
"scripts": [
...
"../node_modules/toastr/build/toastr.min.js"
],
...
我在一个单独的文件中创建了一个注入令牌:
import {InjectionToken} from '@angular/core';
import {IToastr} from './toastr.model';
export let TOASTR_TOKEN = new InjectionToken<IToastr>('toastr');
然后在app.module.ts
我将其包含为提供者:
import {TOASTR_TOKEN} from './common/tokens';
let toastr = window['toastr'];
...
providers: [
...
{provide: TOASTR_TOKEN, useValue: toastr}
],
...
答案 0 :(得分:2)
好的,经过一些研究后我找到了解决问题的方法。节省了一天的时间是导出我用来分配给提供者的useValue
属性的变量:
import {TOASTR_TOKEN} from './common/tokens';
export let toastr = window['toastr'];
...
providers: [
...
{provide: TOASTR_TOKEN, useValue: toastr}
],
...