ReactNative的插件开发——以Android为例
2018-11-05 本文已影响17人
Frank_Kivi
作为程序开发,我们应该都有开发sdk或者lib的经验,简单来说就是自己开发一个插件,让别人使用,而不是自己开发一个可发布的App.
ReactNative的插件开发是怎样的呢?本文简单说明一下一个ReactNative的插件是如何构建的。
首先,我们需要创建一个ReactNative的工程。我们的插件一般情况下包含两部分代码,一部分是原生代码,一部分是js代码。js代码直接编写即可,原生的代码记得一定要新建一个Android Library的Module,然后代码在module中完成。
代码完成之后,需要把插件打包上传到NPM或者以其它形式交付,这个时候一定要对结构比较清楚,我们的代码核心就是需要提供的js代码,和那个Android的Module。把这些文件全部提交即可。
安装使用,在我们新的ReactNative工程中,当我们安装后,插件的所有代码会在node_modules下边出现,我们假定他的名字是RN_plugin. 这些都是自动的,下边我们只需要几步配置就可以使用了。
- 修改项目的settings.gradle
include ':app', ':RN_plugin'
project(':RN_plugin').projectDir = new File(rootProject.projectDir, '../node_modules/RN_plugin/android')
这一步其实就是把我们写的那部分原生的代码,整个module引入到新项目中,AndroidStudio的支持跨目录引用的。
- 添加app的依赖。
...
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile project(':RN_plugin') // 添加 jpush 依赖
}
这一步非常好理解,这样就把整个module添加上了。所有的原生代码就起效了。
- 在新项目中直接引用需要的代码即可。如果是js代码,直接import。如果是原生的代码,肯定是需要桥接文件的,这部分桥接文件最好是放到插件中去完成,这样项目在使用插件时就直接使用js,不需要关心原生的原生的代码。
这只是Android的示例,思路就是创建一个Android的lib,最后把它整个上传,下载后直接修改引用路径,就可以直接使用了。