由于项目中需要封装一个自定义插件,突然发现在ionic1中使用正常的插件2中没办法使用了,google了半天找到了官方的文档。
折腾了好久,终于可以使用自定义插件了,虽然方法有点坑。
主要步骤如下(方法更新到ionic-native v3.12.0,这个版本使用起来还是比较方便的):
1. fork官方的ionic-native项目,并按照规则添加自己插件的class,可以参考其它插件的写法。
3. npm run build并且将dist/my-plugin目录拷贝到ionic2中node_modules/@ionic-native/my-plugin
4. 在ionic2项目中使用:
I) in app.module.ts:
import {MyPluginClass} from 'ionic-native/my-plugin';
将MyPluginClass添加到ngModule的providers中,这一步同系统自带的SplashScreen等插件相同
II) in xxx.ts
import {MyPluginClass} from 'ionic-native/my-plugin';
constructor(private myPluginClass: MyPluginClass)
this.myPluginClass.pluginMethod();
注意:
1. Plugin参数设置如下
@Plugin({
pluginName: 'your-plugin-nane'
plugin: 'your-plugin-id', // npm package name, example: cordova-plugin-camera
pluginRef: '这里填写插件plugin.xml中clobbers对应的值',
platforms: ['Android', 'iOS']
})
如果上面的内容填写错误可能就会提示插件未安装。
2. 如何上传插件传送门
3. 官方现在提供了生成插件类的命令:
gulp plugin:create -n PluginName