angular - 向angular2迁移到最终版本时出现未处理的promise拒绝错误

标签 angular compiler-errors unhandled

我试图从Rc5迁移到angular2的最终版本。我更改了module.ts和system.config.js文件,还将所有指令都移到了@ngModule。但是现在我收到以下错误,我不知道此错误的根源在哪里?以及如何处理:

消息:(浏览器Web控制台中的内容)

Uncaught (in promise): Error: No ErrorHandler. Is platform module (BrowserModule) included?



堆栈:

"resolvePromise@http://localhost:3002/node_modules/zone.js/dist/zone.js:429:31scheduleResolveOrReject/<@http://localhost:3002/node_modules/zone.js/dist/zone.js:465:17ZoneDelegate.prototype.invokeTask@http://localhost:3002/node_modules/zone.js/dist/zone.js:236:23Zone.prototype.runTask@http://localhost:3002/node_modules/zone.js/dist/zone.js:136:28drainMicroTaskQueue@http://localhost:3002/node_modules/zone.js/dist/zone.js:368:25ZoneTask/this.invoke@http://localhost:3002/node_modules/zone.js/dist/zone.js:308:25"



在Network中,main.js,module.js和所有组件都已加载。

这是module.ts:
import { NgModule, ApplicationRef, ModuleWithProviders } from '@angular/core';
// Ahead of Time compile
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule, Http } from '@angular/http';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
// import { PLATFORM_DIRECTIVES, PLATFORM_PIPES, provide, enableProdMode } from '@angular/core';
import {   enableProdMode } from '@angular/core';
import { MdToolbar } from '@angular2-material/toolbar';
import {MdButtonToggleModule} from '@angular2-material/button-toggle';
import { MdButton, MdAnchor } from '@angular2-material/button';
import {MdButtonModule} from '@angular2-material/button';
import {MdCheckboxModule} from '@angular2-material/checkbox';
import {MdRadioModule} from '@angular2-material/radio';
// import {SELECT_DIRECTIVES} from 'ng2-select/ng2-select';
import {MdSlideToggleModule} from '@angular2-material/slide-toggle';
import {MdSidenavModule} from '@angular2-material/sidenav';
import {MdListModule} from '@angular2-material/list';
import {MdGridListModule} from '@angular2-material/grid-list';
import {MdCardModule} from '@angular2-material/card';
import {
  MdLiveAnnouncer,
  MdRippleModule,
  RtlModule,
  PortalModule,
  OverlayModule
} from '@angular2-material/core';

import {MdIconModule} from '@angular2-material/icon';
import {MdProgressCircleModule} from '@angular2-material/progress-circle';
import { MdCheckbox } from '@angular2-material/checkbox';
import { MdUniqueSelectionDispatcher } from '@angular2-material/radio';
import { MdTab } from '@angular2-material/tabs';
import { MdList } from '@angular2-material/list';
import {MdInput} from '@angular2-material/input';
import { MdMenu } from '@angular2-material/menu';
import {MdProgressBarModule} from '@angular2-material/progress-bar';
import {MdInputModule} from '@angular2-material/input';
import {MdTabsModule} from '@angular2-material/tabs';
import {MdToolbarModule} from '@angular2-material/toolbar';
import {MdTooltipModule} from '@angular2-material/tooltip';
import { MdCoreModule } from '@angular2-material/core';
import {MdRipple} from '@angular2-material/core';
import {MdMenuModule} from '@angular2-material/menu';
import { MdIcon, MdIconRegistry } from '@angular2-material/icon';
import { createTemplateRenderer } from "./lib/directives/template-renderer.directive";
import { TranslateModule, TranslateLoader, TranslateStaticLoader, TranslateService } from 'ng2-translate/ng2-translate';
import { ConfigService } from './lib/services/config.service';
import { AuthenticationService } from './lib/services/authentication.service';
import { FileService } from './lib/services/file.service';
import { ContactsService } from './views/contacts/contacts.service';
import { LogService } from './lib/services/log.service';
import { app_Summary } from './lib/components/app_-summary/app_-summary.component';
import { routing, appRoutingProviders } from './routing';
import { app_App } from './lib/components/app_-app/app_-app.component';
import { app_Select } from "./lib/components/app_-select/app_-select.component";
import { ContactsView } from './views/contacts/contacts';
import { GroupsView } from './views/groups/groups';
import { app__COMPONENTS } from "./lib/components/app_-components.module";
import { app__DIRECTIVES } from "./lib/directives/app_-directives";
import { app__PIPES } from "./lib/pipes/app_-pipes";
import { app_Field } from "./lib/components/app_-field/app_-field.component";
import { app_Title } from './lib/components/app_-title/app_-title.component';
import { app_Tab } from './lib/components/app_-tab/app_-tab.component';
import { XHRBackend } from "@angular/http";
import { InMemoryBackendService, SEED_DATA } from 'angular2-in-memory-web-api';
import { InMemoryDataService } from './lib/services/in-memory-data.service';
import { app_Action } from './lib/components/app_-action/app_-action.component';
import { app_ActionsMenu } from './lib/components/app_-actions-menu/app_-actions-menu.component';
import { app_Pane } from './lib/components/app_-pane/app_-pane.component';
import {MATERIAL_DIRECTIVES, MATERIAL_PROVIDERS} from 'ng2-material';
import { MdDialog } from "ng2-material/components/dialog/dialog";
const MATERIAL_MODULES = [
  MdButtonModule,
  MdButtonToggleModule,
  MdCardModule,
  MdCheckboxModule,
  MdGridListModule,
  MdIconModule,
  MdInputModule,
  MdListModule,
  MdMenuModule,
  MdProgressBarModule,
  MdProgressCircleModule,
  MdRadioModule,
  MdRippleModule,
  MdSidenavModule,
  //MdSliderModule,
  MdSlideToggleModule,
  MdTabsModule,
  MdToolbarModule,
  MdTooltipModule,
  OverlayModule,
  PortalModule,
  RtlModule,
];
@NgModule({
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    // MATERIAL_MODULES,
    MdButtonModule.forRoot(),
    MdCardModule.forRoot(),
    MdCheckboxModule.forRoot(),
    MdGridListModule.forRoot(),
    MdInputModule.forRoot(),
    MdListModule.forRoot(),
    MdProgressBarModule.forRoot(),
    MdProgressCircleModule.forRoot(),
    MdRippleModule.forRoot(),
    MdSidenavModule.forRoot(),
    MdTabsModule.forRoot(),
    MdToolbarModule.forRoot(),
    PortalModule.forRoot(),
    RtlModule.forRoot(),
    MdButtonToggleModule.forRoot(),
    MdIconModule.forRoot(),
    MdMenuModule.forRoot(),
    MdRadioModule.forRoot(),
    MdSlideToggleModule.forRoot(),
    MdTooltipModule.forRoot(),
    OverlayModule.forRoot(),
    RouterModule,
    routing,
    TranslateModule.forRoot({
    provide: TranslateLoader,
    useFactory: (http: Http) => new TranslateStaticLoader(http, '/app/i18n', '.json'),
      deps: [Http]
    })
  ],

  exports: [
    MATERIAL_MODULES,
    TranslateModule
  ],

  providers: [
    appRoutingProviders,
    MdLiveAnnouncer,
    TranslateService,
    ConfigService,
    LogService,
    AuthenticationService,
    ContactsService,
    FileService,
  ],

  declarations: [
    app_App,
    app__COMPONENTS,
    app__DIRECTIVES,
    app__PIPES,
    ContactsView,
    GroupsView,
    MdIcon,
    MdButton,
    MdInput,
    MdTab,
    MdList,
    MdCheckbox,
    MdMenu,
    app_Field,
    createTemplateRenderer("item", "index"),
    MdToolbar,
    MdDialog,
    app_Select,
    app_Title,
    app_Tab,
    app_Summary,
    app_Action,
    app_ActionsMenu,
    MdRadioModule,
    app_Pane,
  ],

  entryComponents: [
    App
  ],
  bootstrap: [App]
})

export class MaterialRootModule { }
@NgModule({
  imports: MATERIAL_MODULES,
  exports: MATERIAL_MODULES,
})

export class AppModule{
  static forRoot(): ModuleWithProviders {
    return { ngModule: MaterialRootModule };
  }
}

这是index.html:
  <head>
  <base href="/">
  <title>MEMS</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="app/css/ui-layout.css">
  <link rel="stylesheet" href="node_modules/@angular2-material/core/overlay/overlay.css">
  <link rel="stylesheet" href="node_modules/ng2-material/ng2-material.css">
  <link rel="stylesheet" href="node_modules/ng2-material/font/font.css">
  <link rel="stylesheet" href="node_modules/ng2-select/components/css/ng2-select.css">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <script src="//cdn.auth0.com/js/lock-8.1.min.js"></script>
  <script src="node_modules/es6-shim/es6-shim.min.js"></script>
  <script src="node_modules/zone.js/dist/zone.js"></script>
  <script src="node_modules/reflect-metadata/Reflect.js"></script>
  <script src="node_modules/systemjs/dist/system.src.js"></script>
  <script src="app/js/base64-arraybuffer.js"></script>
  <script src="app/js/ui.js"></script>
  <script src="systemjs.config.js"></script>
  <script>
    System.import('app/main').catch(function(err){ console.error(err); });
  </script>
</head>
<body>
  <app>Loading ...</app>
</body>
</html>

你能帮我吗?

非常感谢。

最佳答案

我的问题是因为我的module.js。
我删除了////构造函数(专用_appRef:ApplicationRef){}

  // ngDoBootstrap() {

  //   this._appRef.bootstrap(SeiApp);

  // }

  // static forRoot(): ModuleWithProviders {

  //   return { ngModule: MaterialRootModule };

  // } `

关于angular - 向angular2迁移到最终版本时出现未处理的promise拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39651327/

相关文章:

angular - Navparam 传递的数据在 Ionic2 中不可用

uiview - Swift 编译器错误 "failed with exit code 254"

blackberry - 黑莓错误: Jar Command Failed

java - Java 中未处理的异常

c# - 出现错误 “value ' 0' is not a valid value”

jquery - Angular 2+ TypeError : $(. ..).magnificPopup 不是函数

angular - 模板解析错误 : 'mat-icon' is not a known element

C#编译错误: “X is inaccessible due to its protection level”

visual-studio-2008 - VS2008 调试器不会中断未处理的异常

angular/flex-layout beta8 获取 TypeError : _this. _renderer.setStyle 不是函数