Ionic2 离子2 rc0白屏(没有ConnectionBackend的提供程序!)

Ionic2 离子2 rc0白屏(没有ConnectionBackend的提供程序!),ionic2,Ionic2,我通过复制旧beta11项目的文件启动了一个新的ionic 2 rc0应用程序。我执行了下面所述的必要步骤 将项目复制到新项目中: 现在终于在我运行时没有更多的编译器错误了 ionic run android -c 我的安卓手机刚刚出现了一个白屏 Chrome调试正在记录我的日志 未捕获错误:t没有提供程序 当我跑步的时候 ionic serve -c firefox记录我的日志 未处理的承诺拒绝:ConnectionBackend!没有提供程序; 区域:;任务:承诺;值:对象{ app.m

我通过复制旧beta11项目的文件启动了一个新的ionic 2 rc0应用程序。我执行了下面所述的必要步骤

将项目复制到新项目中

现在终于在我运行时没有更多的编译器错误了

ionic run android -c
我的安卓手机刚刚出现了一个白屏

Chrome调试正在记录我的日志

未捕获错误:t没有提供程序

当我跑步的时候

ionic serve -c
firefox记录我的日志

未处理的承诺拒绝:ConnectionBackend!没有提供程序; 区域:;任务:承诺;值:对象{

app.module.ts看起来像:

import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { Storage } from '@ionic/storage'; // special thing
import { Http } from '@angular/http';#

// other imports ....

@NgModule({
  declarations: [
    MyApp,
    // PAGES
    // MODALS
    // CUSTOM COMPONENTS
    // DIRECTIVES
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    // PAGES
    // MODALS
  ],
  providers: [
    Storage,
    Http,
    // SERVICES/PROVIDERS
  ]
})
export class AppModule {}
我猜某个提供商可能有问题,但我就是找不到解决方案

系统:ubuntu16.04/node v6.7.0/npm v3.10.3


编辑:


我开始了一个新的侧菜单项目

ionic start debugProject sidemenu --v2
我这样做是为了通过顺序添加原始项目的提供程序来调试提供程序。似乎,当我在app.components.ts的构造函数中插入名为“Config”的第一个提供程序时

import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from 'ionic-native';

import { TabsPage } from '../pages/tabs/tabs';

// PROVIDERS -> providers
import { Config } from '../providers/config/config';


@Component({
  template: `<ion-nav [root]="rootPage"></ion-nav>`
})
export class MyApp {

  rootPage = TabsPage;

  constructor(
    platform  : Platform,
    config    : Config    <-------------(HERE !!! )
  ) { .....
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';

// providers
import { Http } from '@angular/http';
//import { DB } from '../db/db';


@Injectable()
export class Config {

  public data : any;

  constructor(
    public http : Http,
    //public db   : DB
  ){
    this.data = {};
  }

  loadDefault() {
    this.data = {
    ..........................
    // DATA OBJECT DEFINITIONS
    ...........................
    };
    return Promise.resolve("default settings applied");
  }

  loadSettingsFromDB(){
    return Promise.resolve("no local settings from db for now");
  }

  // TODO: send settings to server
  saveSettingsToDB(settings){
    return Promise.resolve("cant save settings for now");
  }

  handleError(err) : void {
    // error stacktrace gets returned on development mode
    try{
      err = err.json();
    }catch(e){}
    var msg = err.message || "LOADING ERROR";
    if(err.error){
      msg += err.error;
      //Toast.showLongBottom(msg).subscribe();
    }else{
      //Toast.showShortBottom(msg).subscribe();
    }
    console.log("ERROR in config.ts");
    console.log(msg);
    console.log(err);
  }

}

有什么想法吗?如果没有,有没有关于在github上发行新版本的经验?

我找到了解决方案。似乎我不能/不应该在app.modules.ts
中的providers数组中使用Http模块(在beta11中,这不是问题)。我的配置模块依赖于Http,因此在构造Config应用程序错误之后(ConnectionBackend没有提供程序)激发…

什么是
ConnectionBackend
?我在任何地方都看不到它,我也看不到它…似乎是提供程序的子模块。在angular 2的早期版本中,ConnectionBackend可以通过'@angular/http'包导入,但我很确定这是ConnectionBackend1的一个隐式错误。下面没有http\U提供程序模块“@angular/http”和2。有一个用ionic 2 rc0编写的示例项目,他们像我一样使用http