首页 > 解决方案 > Ionic-Native、Angular 6、Ionic 4 - Facebook 和 Google 登录问题 - 对象不是函数

问题描述

我正在尝试使用带有 Google Plus 和 Facebook 的科尔多瓦插件登录。这两个 npm 包都给了我这个问题:

core.js:1598 错误错误:未捕获(在承诺中):TypeError:Object(...) 不是函数 TypeError:Object(...) 不是 Object../node_modules 处 index.js:245 处的函数/@ionic-native/facebook/index.js (index.js:313) 在webpack_require (bootstrap:81) 在 Object../src/app/services/auth.service.ts (chunk-fe7f197d.js:144)在webpack_require (bootstrap:81) 在 Object../src/app/pages/login/login.page.ts (pages-login-login-module.js:115) 在webpack_require (bootstrap:81) 在 Object../ src/app/pages/login/login.module.ts (pages-login-login-module.js:21) 在webpack_require(bootstrap:81) at $_lazy_route_resource 惰性命名空间对象:37 at index.js:245 at Object../node_modules/@ionic-native/facebook/index.js (index.js:313) at webpack_require (bootstrap:81)在 Object../src/app/services/auth.service.ts (chunk-fe7f197d.js:144) 在webpack_require (bootstrap:81) 在 Object../src/app/pages/login/login.page.ts (pages-login-login-module.js:115) 在webpack_require (bootstrap:81) 在 Object../src/app/pages/login/login.module.ts (pages-login-login-module.js:21 ) 在webpack_require(bootstrap:81) at $_lazy_route_resource 惰性命名空间对象:37 at resolvePromise (zone.js:814) at resolvePromise (zone.js:771) at zone.js:873 at ZoneDelegate.push../node_modules/zone.js/ dist/zone.js.ZoneDelegate.invokeTask (zone.js:421) 在 Object.onInvokeTask (core.js:4053) 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask ( zone.js:420) 在 Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)

我的信息是:

@ionic/cli-utils:2.0.0-rc.6 离子(离子 CLI):4.0.0-rc.6

全局包:

科尔多瓦(科尔多瓦 CLI):8.0.0

本地包:

@angular-devkit/core:0.6.0 @angular-devkit/schematics:0.6.0 @angular/cli:6.0.1 @ionic/schematics-angular:1.0.0-rc.6 Cordova 平台:无离子框架:@离子/角度 4.0.0-alpha.7

系统:

Android SDK 工具:26.1.1 NodeJS:v8.9.4 npm:6.1.0 操作系统:Windows 10

环境变量:

ANDROID_HOME : D:\SumTech Solutions\Software\Android_SDK

仅当我将 Imports 添加到我的 auth.service 中的构造函数时,这才成为一个问题。

标签: facebookgoogle-plusangular6rxjs6ionic4

解决方案


我在使用其他原生插件时也遇到了类似的问题,我从 这里得到了解决方案,这可能会对你有所帮助。

将您的本机库更新为 5.0.0-beta.14,每个库都包含 @ionic-native/core

"@ionic-native/splash-screen": "5.0.0-beta.14",  
"@ionic-native/status-bar": "5.0.0-beta.14",

在应用程序中使用时

import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

推荐阅读