在Ionic 2中使用非离子型天然插件

时间:2017-02-15 22:16:21

标签: cordova typescript ionic2 cordova-plugins

我使用的是github的cordova插件,不是离子原生的。

我有问题。如何在Ionic 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

3 个答案:

答案 0 :(得分:1)

很少看的东西:

  • 验证plugin.xml和package.json文件中是否存在插件条目?如果不是,您可能需要添加一个条目,如下例所示。
  • 仅在平台准备就绪时使用该插件。
  • 在真实设备中测试您的应用。
  • 使用"离子添加"相反" cordova add"添加新插件。

请参阅以下主题,这可能对编辑plugin.xml文件有所帮助。

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

答案 1 :(得分:1)

您的问题是plugin.xml clobbers设置为window.plugins.myplugin。 这使 window 成为全局对象,您必须声明:

declare var window: any;

和函数调用为:

window.plugins.myPlugin.pluginInitialize()

或者如果这是您定制的插件,您可以将clobbers对象设为myPlugin

答案 2 :(得分:0)

请尝试这样:

第一个导入插件或库为:

import plugin from 'plugin-name' ;

然后使用:

plugin.functionName();