Angular 4 with angular-cli - 找不到带 AOT 的第 3 方提供商
Angular 4 with angular-cli - doesn't find 3rd party provider with AOT
我正在使用 angular-cli 1.2.6 构建一个小型 Angular 4 应用程序。在开发过程中一切正常,并且使用 ng build --dist
成功构建。但是在 运行 时间,找不到我用作服务的名为 toastr
的第 3 方供应商之一 - 注入时它是 undefined
。以下是我将其包含到项目中的方式:
在.angular-cli.json
...
"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}
],
...
好的,经过一番研究,我找到了解决问题的方法。挽救这一天的是导出我用来分配给提供商的 useValue
属性 的变量:
import {TOASTR_TOKEN} from './common/tokens';
export let toastr = window['toastr'];
...
providers: [
...
{provide: TOASTR_TOKEN, useValue: toastr}
],
...
我正在使用 angular-cli 1.2.6 构建一个小型 Angular 4 应用程序。在开发过程中一切正常,并且使用 ng build --dist
成功构建。但是在 运行 时间,找不到我用作服务的名为 toastr
的第 3 方供应商之一 - 注入时它是 undefined
。以下是我将其包含到项目中的方式:
在.angular-cli.json
...
"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}
],
...
好的,经过一番研究,我找到了解决问题的方法。挽救这一天的是导出我用来分配给提供商的 useValue
属性 的变量:
import {TOASTR_TOKEN} from './common/tokens';
export let toastr = window['toastr'];
...
providers: [
...
{provide: TOASTR_TOKEN, useValue: toastr}
],
...