2017-02-15 135 views
0

我正在使用github上的cordova插件,不适用于离子原生。在离子2中使用非离子原生插件2

我有问题。如何在离子2中使用非离子原生插件?

我尝试:

declare var myPlugin: any; 

myPlugin.doSomething(...) 

和其他论坛的解决方案

但我有错误:

ReferenceError: myPlugin is not defined 
at new HomePage (http://localhost:8100/build/main.js:18762:9) 

我的配置:

Ionic Framework: ^2.0.0-rc.3 
Ionic Native: ^2.2.3 
Ionic App Scripts: 1.0.0 
Angular Core: 2.2.1 
Angular Compiler CLI: 2.2.1 
Node: 6.9.5 
OS Platform: Windows 10 
Navigator Platform: Win32 
cordova 6.5.0 

同样的问题: Working with non ionic-native plugins in Ionic 2

+0

你可以添加一个链接到你正在尝试使用的插件吗? 正如您提供的链接中所建议的那样,您是否尝试登录'cordova'来查看插件是否在那里? –

+0

你正在尝试在一个设备或离子发球? –

+0

在离子发射,测试初始化​​功能。我会尝试设备。 – ghot

回答

1

很少有东西看:

  • 验证,如果你的插件条目存在于plugin.xml中和的package.json文件?如果不是,您可能需要添加一个条目,如下例所示。
  • 仅当平台准备就绪时才使用插件。
  • 在真实设备上测试您的应用程序。
  • 使用“ionic add”代替“cordova add”添加新的插件。

请参考下面的线程,这可能对编辑plugin.xml文件有帮助。

https://forum.ionicframework.com/t/how-to-use-non-native-plugins-on-ionic-2/63936/17

1

你的问题是,在plugin.xml中clobbers设置为window.plugins.myplugin。 这使得窗口全局对象,你必须声明:

declare var window: any; 

和功能称为:

window.plugins.myPlugin.pluginInitialize() 

,或者如果这是你定制的插件,你可以做则会覆盖对象为myPlugin