我是ionic2(和angular2)的新手,我尝试在我的第一个应用程序中实现auth0。 所以我遵循了这个:https://auth0.com/docs/quickstart/hybrid/ionic2/no-api
我开始使用#34;开始使用"在ionic2网站上,一切都很完美。 然后,我按照auth0快速启动中的所有步骤进行操作,但是当我执行"离子服务"我收到这个错误:
0 883034 error Uncaught Invalid provider - only instances of Provider and Type are allowed, got: [object Object], http://localhost:8100/build/js/app.bundle.js, Line: 24470
我认为问题出在App.ts中,在@App提供商中:
import {App, Platform} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import {TabsPage} from './pages/tabs/tabs';
import {provide} from 'angular2/core';
import {Http} from 'angular2/http'
import {AuthHttp, AuthConfig} from 'angular2-jwt';
import {AuthService} from './services/auth/auth';
import {Type} from 'angular2/core';
@App({
template: '<ion-nav [root]="rootPage"></ion-nav>',
config: {},
providers: [
provide(AuthHttp, {
useFactory: (http) => {
return new AuthHttp(new AuthConfig(), http);
},
deps: [Http]
}),
AuthService
],
})
export class MyApp {
rootPage: any = TabsPage;
constructor(platform: Platform) {
platform.ready().then(() => {
StatusBar.styleDefault();
// When the app starts up, there might be a valid
// token in local storage. If there is, we should
// schedule an initial token refresh for when the
// token expires
this.auth.startupTokenRefresh();
});
}
}
谢谢我帮忙!
答案 0 :(得分:1)
您正在使用@App装饰器。这意味着您使用的是旧版的Ionic 2.请更新到最新版本并以“新”方式引导它:
ionicBootstrap(MyApp, [
provide(AuthHttp, {
useFactory: (http) => {
return new AuthHttp(new AuthConfig({noJwtError: true}), http);
},
deps: [Http]
})],
{
tabbarPlacement: 'bottom'
}
);
应该这样工作!
答案 1 :(得分:0)
检查你的package.json,我删除时收到了这个错误:
"angular2": "2.0.0-beta.15",
在文件依赖项中。 希望它有所帮助,但它可能是另一回事。