開發(fā)自己的react native插件

利用RN與原生通信開發(fā)的模塊獨(dú)立出來,不管是給自己的多個(gè)項(xiàng)目共用,或者開源給到別人用,這都是一件很優(yōu)秀的事情。

就以我自己開發(fā)的一個(gè)在ios和android通用的react-native-face-verify組件為例來講一下,開發(fā)插件框架搭建

1 創(chuàng)建并實(shí)現(xiàn)

1.1 創(chuàng)建自定義組件模版項(xiàng)目

1.1.1 安裝react-native-create-library

目前官方推薦的是create-react-native-module
本文介紹還是基于react-native-create-library


$ npm install-g react-native-create-library

1.1.2 創(chuàng)建模板項(xiàng)目

我們用命令react-native-create-library創(chuàng)建項(xiàng)目,并指定平臺為ios,android,指定android中的package,其他參數(shù)可以自行參考在react-native-create-library在github上的文檔說明,這里就不贅述


$ react-native-create-library--package-identifier com.may.faceverify--platforms android,ios faceverify

我們重命名一下項(xiàng)目名


$ mv verify react-native-face-verify

有人可能會(huì)說,樓主為什么不直接生成react-native-face-verify的項(xiàng)目,而要先生成faceverify再重命名。其實(shí)這是一個(gè)小技巧,因?yàn)槔胷eact-native-create-library生產(chǎn)的項(xiàng)目,一些跟組件相關(guān)的名稱或者類會(huì)默認(rèn)加上react-native或者RN前綴。

例如,如果你的初始項(xiàng)目名是react-native-face-verify,那么package.json中定義的組件名將是react-native-react-native-face-verify,android模塊中定義的相關(guān)類會(huì)是RNReactNativeFaceverifyModule.java,這不是我們想要的。

ok, 我們繼續(xù)。

現(xiàn)在的目錄結(jié)構(gòu):


$ tree

└── react-native-face-verify

    ├── README.md

    ├── android

    │  ├── build.gradle

    │  └── src

    │      └── main

    │          ├── AndroidManifest.xml

    │          └── java

    │              └── com

    │                  └── reactlibrary

    │                      ├── RNFaceverifyModule.java

    │                      └── RNFaceverifyPackage.java

    ├── index.js

    ├── ios

    │  ├── RNFaceverify.h

    │  ├── RNFaceverify.m

    │  ├── RNFaceverify.podspec

    │  ├── RNFaceverify.xcodeproj

    │  │  └── project.pbxproj

    │  └── RNFaceverify.xcworkspace

    │      └── contents.xcworkspacedata

    └── package.json

生成好組件項(xiàng)目后,就可以開始編寫實(shí)現(xiàn)代碼了或之前寫好的代碼復(fù)制到對應(yīng)文件夾下

參考:http://www.itdecent.cn/p/091a68ea1ca7

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容