hho*_*tij 32 cordova-plugins ionic2
我试图在一个新的离子2项目(最新的ionic2版本)中使用cordova GooglePlus插件,但我总是遇到有关cordova的错误.该插件已正确安装并显示在插件文件夹中.
我试过的一种方法是:
import { GooglePlus } from "ionic-native";
Run Code Online (Sandbox Code Playgroud)
然后
GooglePlus.login().then(...)
Run Code Online (Sandbox Code Playgroud)
登录方法执行但总是抛出错误说 "cordova_not_available"
我想先ionic serve在我的Windows系统上测试应用程序,然后再将其部署到我的Android手机上.如何在localhost服务器中提供cordova?从搜索中我了解到cordova.js已生成并始终包含在设备的deploy包中.
我尝试的另一种方法是使用
window.plugins.googleplus.login(...)
Run Code Online (Sandbox Code Playgroud)
但是这种方法不会通过对Windows对象上的插件属性一无所知的打字稿编译器.
我怎样才能解决这个问题?
Aja*_*pta 64
如果您希望该插件适用于浏览器,您应该添加platform browser并运行它:
ionic cordova platform add browser
Run Code Online (Sandbox Code Playgroud)
并运行它:
ionic cordova run browser
Run Code Online (Sandbox Code Playgroud)
而不是ionic serve.
gro*_*roo 15
当您在chrome中运行应用程序时,通常会发生此错误ionic serve,这是正常的,因为在浏览器中没有本机组件,但是当您使用的离子本机插件被添加点头时,也会在模拟器和设备上发生,即使你已经为它添加了离子插件.
例如,如果您使用的是原生Toast
那么你需要添加适当的离子依赖:
ionic plugin add cordova-plugin-x-toast --save
Run Code Online (Sandbox Code Playgroud)
但是你还需要添加cordova依赖项:
cordova plugin add cordova-plugin-x-toast --save
Run Code Online (Sandbox Code Playgroud)
如果您忘记添加以后的cordova插件,您将收到如下错误:
Runtime Error Uncaught(in promise): cordova_not_available
Run Code Online (Sandbox Code Playgroud)
找到原因可能很棘手.
添加离子和cordova依赖项后,您应该可以使用它.
确保导入它:
import { Toast } from 'ionic-native';
Run Code Online (Sandbox Code Playgroud)
在构造函数中注入Platform:
constructor(public navCtrl: NavController, private platform: Platform) {...
Run Code Online (Sandbox Code Playgroud)
然后使用本机项:
this.platform.ready().then(() =>
Toast.show("Successfull", '5000', 'center')
.subscribe(
toast => {
console.log(toast);
}
));
Run Code Online (Sandbox Code Playgroud)
使用ionic serve禁用所有cordova插件,因为它没有在设备上运行.
相反使用ionic cordova run android
这将启动一个Android模拟器,应该允许所有的cordova插件运行
我也遇到过第二种方法,但语法必须如此 windows['plugins'].googleplus.login(...)
| 归档时间: |
|
| 查看次数: |
58363 次 |
| 最近记录: |