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