意外值ToasterModule请添加@NgModule注释

时间:2018-03-16 01:29:38

标签: angular

我已经在这里工作了2.5个小时并且通过了多个帖子。在https://github.com/angular/angular/issues/15763上尝试了几条建议,这让我很沮丧,因为上述错误的根源似乎不同。

我在角5和构建上,我得到错误:

  

错误输入:意外值' ToasterModule in ... / node_modules / angular5-toaster / dist / bundles / angular5-toaster.umd.js'由模块' AppModule导入../src/app/app.module.ts'。请添加@NgModule注释。

图书馆没有自己的node_modules副本。它自己的tsconfig.js文件是:

{
  "compilerOptions": {
    "target": "es2015",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "declaration": true,
    "stripInternal": true,
    "noUnusedLocals": false,
    "types": [ "jasmine", "node" ],
    "lib": ["es2015", "dom"]
  },
  "include": [
    "angular5-toaster.ts",
    "src/**/*"
  ],
  "exclude": [
      "node_modules",
      "bundles"
    ]
}

angular5-toaster / package.json(partial):

"devDependencies": {
    "@angular/animations": "4.1.0",
    "@angular/common": "4.1.0",
    "@angular/compiler": "4.1.0",
    "@angular/compiler-cli": "4.1.0",
    "@angular/core": "4.1.0",
    "@angular/platform-browser": "4.1.0",
    "@angular/platform-browser-dynamic": "4.1.0",
    "@angular/platform-server": "4.1.0",
    "@types/jasmine": "2.5.47",
    "@types/node": "7.0.12",
"module": "angular5-toaster.js",
  "name": "angular5-toaster",
  "optionalDependencies": {},
  "peerDependencies": {
    "@angular/common": ">=4.0.0 <=5.0.2",
    "@angular/compiler": ">=4.0.0 <=5.0.2",
    "@angular/core": ">=4.0.0 <=5.0.2",
    "rxjs": "^5.0.0-beta.11"
  },

我的app.module.ts:

  import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';
import {ToasterModule, ToasterService} from 'angular5-toaster';
@NgModule({
    imports: [
        CommonModule,
        BrowserModule,ToasterModule,
        BrowserAnimationsModule,
        Ng4LoadingSpinnerModule.forRoot(),

        AppRoutingModule
    ],
    declarations: [AppComponent],
    providers: [ToasterService
    ],
    bootstrap: [AppComponent, ]
})
export class AppModule {}

的package.json:

{
  "name": "RLRC",
  "version": "4.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --ec true",
    "build": "ng build --prod",
    "gitbuild": "ng build --prod --base /start-angular/RLRC/master/dist/",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^5.0.1",
    "@angular/common": "^5.0.1",
    "@angular/compiler": "^5.0.1",
    "@angular/core": "^5.0.1",
    "@angular/forms": "^5.0.1",
    "@angular/http": "^5.0.1",
    "@angular/platform-browser": "^5.0.1",
    "@angular/platform-browser-dynamic": "^5.0.1",
    "@angular/router": "^5.0.1",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",
    "@ngx-translate/core": "^8.0.0",
    "@ngx-translate/http-loader": "^2.0.0",
    "chart.js": "^2.7.1",
    "core-js": "^2.5.1",
    "datatables.net": "^1.10.16",
    "font-awesome": "^4.7.0",
    "jquery": "^3.2.1",
    "ng2-charts": "^1.6.0",
    "ng4-loading-spinner": "^1.1.1",
    "ngx-treeview": "^2.0.1",
    "rxjs": "^5.5.2",
    "yarn": "^1.3.2",
    "zone.js": "^0.8.18"
  },
  "devDependencies": {
    "@angular/cli": "1.5.0",
    "@angular/compiler-cli": "^5.0.1",
    "@angular/language-service": "^5.0.1",
    "@types/jasmine": "~2.6.3",
    "@types/jasminewd2": "~2.0.3",
    "@types/jquery": "^3.2.17",
    "@types/node": "~8.0.51",
    "codelyzer": "~4.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.2.0",
    "ts-node": "~3.3.0",
    "tslint": "~5.8.0",
    "typescript": "~2.4.2"
  }
}

我注意到angular5-toaster(版本1.0.2)没有被添加到上面的依赖列表中,但添加它也没有任何区别。

可能是什么问题?我很感激帮助,因为我可能会面临与其他图书馆相同的问题。

3 个答案:

答案 0 :(得分:1)

这似乎是AoT版本和angular5-toaster的一个特殊问题。

我通过切换到似乎更稳定并提供相同功能的ng2-toastr解决了这个问题。

答案 1 :(得分:0)

您的应用模块的“提供商”部分中不应包含ToasterService。 ToasterModule提供服务。

但是,我不认为这是你的整个问题。

我在一个简单的工作示例中使用了StackBlitz上的库https://stackblitz.com/edit/angular-msm5nn

答案 2 :(得分:0)

不幸的是,在使用库是肤浅的情况下,接受的答案是很方便的,它没有深深地嵌入到项目中。 就我而言,从angular5-toaster转移到ng2-toastr需要花费很多时间。所以我找到了另一个可以帮助他人的解决方案 angular5-toaster建议按以下方式导入:

import {ToasterModule } from 'angular5-toaster';

我使用直接方法:

import { ToasterModule } from './../../node_modules/angular5-toaster/angular5-toaster';