深入小程序系列(三) ReactNative和小程序混編
背景
本文我們將開一下腦洞,在 ReactNative 工程基礎上下集成及運行小程序方案。
先看一下效果如下:
環境搭建
npm?install?-g?react-native-cli?yarn
官方的環境搭建文檔已經有詳細的說明,這里不再重復。大家可以看下我本地的環境配置版本,目前整個項目運行穩定,可以借鑒。
$?react-native?info info?Fetching?system?and?libraries?information...System: ????OS:?macOS?10.15.3 ????CPU:?(8)?x64?Intel(R)?Core(TM)?i7-4770HQ?CPU?@?2.20GHz ????Memory:?93.87?MB?/?16.00?GB ????Shell:?3.2.57?-?/bin/bash ??Binaries: ????Node:?10.20.1?-?~/.nvm/versions/node/v10.20.1/bin/node ????Yarn:?1.22.4?-?~/.nvm/versions/node/v10.20.1/bin/yarn ????npm:?6.14.4?-?~/.nvm/versions/node/v10.20.1/bin/npm ????Watchman:?Not?Found ??Managers: ????CocoaPods:?1.9.1?-?/usr/local/bin/pod ??SDKs: ????iOS?SDK: ??????Platforms:?iOS?13.4,?DriverKit?19.0,?macOS?10.15,?tvOS?13.4,?watchOS?6.2 ????Android?SDK: ??????API?Levels:?26,?28,?29 ??????Build?Tools:?28.0.3,?29.0.2,?29.0.3,?30.0.0 ??????System?Images:?android-26?|?Google?Play?Intel?x86?Atom ??????Android?NDK:?Not?Found ??IDEs: ????Android?Studio:?3.6?AI-192.7142.36.36.6241897 ????Xcode:?11.4/11E146?-?/usr/bin/xcodebuild ??Languages: ????Java:?10.0.1?-?/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/bin/javac ????Python:?2.7.16?-?/usr/bin/python ??npmPackages: ????@react-native-community/cli:?Not?Found ????react:?16.11.0?=>?16.11.0? ????react-native:?0.62.2?=>?0.62.2? ??npmGlobalPackages: ????*react-native*:?Not?Found
新建 ReactNative 樣例工程
新建 ReactNative 工程
react-native?init?mopdemo
稍等一會...
初始化項目完成之后,你可以選擇兩種不同的方式運行 App 在 iOS/Android 平臺:
注意!ReactNative需要依賴本地安裝對應的 iOS,Android 開發工具,即需要安裝 Xcode 和 AndroidStudio。具體安裝使用方法這里不贅述。
這里我們用 VSCode+Xcode 作為開發組合環境。
集成小程序解析引擎
這里我們采用凡泰集成免費社區版的小程序解析引擎,只需要 10 行代碼量不到即可完成小程序集成。
1、引入小程序引擎插件。在 package.json 文件中引入小程序 ReactNative 插件
"react-native-mopsdk":?"^1.0.1"
2、在 main.dart 文件中增加以下小程序引擎初始化方法。 Mop.instance.initialize 這里需要用到 sdkkey 和 secret??梢灾苯釉趆ttps://mp.finogeeks.com免費注冊獲取。注冊使用方法可以參考接入指引
import?MopSDK?from?'react-native-mopsdk'; //?1.?mop初始化 MopSDK.initialize({ ????appkey:?'22LyZEib0gLTQdU3MUauASlb4KFRNRajt4RmY6UDSucA', ????secret:?'4a915e447bcbd439', ????apiServer:?'https://mp.finogeeks.com', ????apiPrefix:?'/api/v1/mop' ??},?(data)?=>?{ ????console.log('message;',?data); ??});
3、打開小程序
MopSDK.openApplet('appid','','',(data)=>{});
SDKKEY 和 Secret 可以從前面部署的社區版的管理后臺獲取。
apiServer 為這里是小程序生態后端的服務地址也就是前文所輸入的IP:端口。
小程序id 為在管理后臺上架的小程序唯一ID(在小程序小架時自動生成)
上述的參數可以在前文服務器部署的后臺界面上獲取,亦可以在沒有部署服務端的情況下在https://mp.finogeeks.com快速注冊獲取。
重要事情說三遍,您可以在官方的github倉庫中查看示例代碼
小程序
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。