角度错误遇到静态解析符号值。引用本地(非导出)符号'toastr'

时间:2017-07-12 09:43:34

标签: angular angular-cli angular2-services toastr

我正在使用angular-cli创建一个Angular 4应用程序。

我想使用toastr,所以我使用npm安装toastr插件并配置它,如下面的代码所示。

运行应用程序时,一切正常。但是当我运行'ng build prod'时,我会得到以下例外。

如何解决此问题?好吗?

由于

  

ERROR in Error遇到静态解析符号值。   引用本地(非导出)符号'toastr'。考虑   导出符号(原始.t文件中的位置35:13),   解决符号AppModule in   d:/Projects/afundamentals/src/app/app.module.ts

  • 创建一个新的打字稿文件'toastr.service.ts',如下所示:

   import { OpaqueToken } from '@angular/core';
    export let TOASTR_TOKEN = new OpaqueToken('toastr'); // TOASTR_TOKEN is an object
    export interface Toastr {
      success (msg: string, title?: string): void;
      info (msg: string, title?: string): void;
      warning (msg: string, title?: string): void;
      error (msg: string, title?: string): void;
    } 

  • 然后,在'app.module.ts'中添加以下内容:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { TOASTR_TOKEN, JQUERY_TOKEN, Toastr } from './common/index';

// declaring the global object toastr and optionally assigning a type of Toastr
declare let toastr : Toastr;

@NgModule({
  declarations: [
    AppComponent,
    ...
  ],
  imports: [
    BrowserModule,
    ...
  ],
  providers: [ 
    ...
    { provide: TOASTR_TOKEN, useValue: toastr },
    ...
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

0 个答案:

没有答案