集成Ionic2 Auth服务时出错

时间:2017-06-08 06:28:12

标签: angular authentication ionic-framework ionic2 social

我试图将facebook登录集成到我的离子2应用程序中。我正在关注指南here,一切都很好,直到我盯着在构造函数中使用Auth和User。

问题是,目前当我在构造函数中使用public auth: Auth, public user: User时,它会给出问题

  

未捕获错误:无法找到模块" ionic-native"

以下是我的完整代码

import { Component } from '@angular/core';
import { Auth, User } from '@ionic/cloud-angular';
@Component({
  selector: 'social-auth',
  templateUrl: 'social.html',
})
export class SocialAuth {
  constructor(public auth: Auth, public user: User) {
  }
  openTwitter(){
    this.auth.login('twitter').then((data) => {
     console.log(data);
    });
  }
}

我的包json是

{
  "name": "ionic-app-base",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build --rollup ./config/rollup.config.js",
    "minify": "ionic-app-scripts minify --cleancss ./config/cleancss.config.js",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "4.0.0",
    "@angular/compiler": "4.0.0",
    "@angular/compiler-cli": "4.0.0",
    "@angular/core": "4.0.0",
    "@angular/forms": "4.0.0",
    "@angular/http": "4.0.0",
    "@angular/platform-browser": "4.0.0",
    "@angular/platform-browser-dynamic": "4.0.0",
    "@ionic-native/camera": "^3.10.3",
    "@ionic-native/core": "^3.6.1",
    "@ionic-native/device": "^3.6.1",
    "@ionic-native/file": "^3.6.1",
    "@ionic-native/file-path": "^3.6.1",
    "@ionic-native/geolocation": "^3.6.1",
    "@ionic-native/in-app-browser": "^3.12.1",
    "@ionic-native/paypal": "^3.10.2",
    "@ionic-native/sim": "^3.5.0",
    "@ionic-native/social-sharing": "^3.10.3",
    "@ionic-native/splash-screen": "3.4.2",
    "@ionic-native/status-bar": "3.4.2",
    "@ionic-native/toast": "^3.6.1",
    "@ionic-native/transfer": "^3.6.1",
    "@ionic/cloud-angular": "^0.12.0",
    "@ionic/storage": "2.0.1",
    "ionic-angular": "3.0.1",
    "ionic-debug-console": "^0.1.0",
    "ionic-native": "^3.5.0",
    "ionicons": "3.0.0",
    "moment": "^2.18.1",
    "rxjs": "5.1.1",
    "sw-toolbox": "3.4.0",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "@ionic/app-scripts": "1.3.0",
    "@ionic/cli-plugin-ionic-angular": "1.1.2",
    "typescript": "~2.2.1"
  }
}

当我安装离子clound时,我得到的是: -

enter image description here

1 个答案:

答案 0 :(得分:2)

您的 package.json 中包含无效的包。

"ionic-native": "^3.5.0",

从版本3.x开始, ionic-native分为@ionic-native/core@ionic-native/package_name。因此ionic-native 3.x不存在。

从package.json中删除"ionic-native": "^3.5.0",条目。

清除node_modules文件夹并运行npm install

同样在我的评论中提到: 你 dont 需要再次将Auth设置为提供商..它将由云模块负责