簡體   English   中英

將React-Native集成到現有App

[英]Integrating React-Native to an existing App

我想將本機模塊集成到現有的iOS App中,但將兩種解決方案分開保存。 與其執行修改現有解決方案的https://facebook.github.io/react-native/docs/integration-with-existing-apps.html ,而是我想有一個獨立的react-native解決方案並以某種方式導入react-native應用程序的Xcode項目到我現有的應用程序中。 這使我可以繼續開發已經存在的應用程序,而不受RN解決方案的影響,該解決方案安裝並向Xcode項目添加了庫。 基本上,概念是將本機解決方案導出為捆綁包或靜態庫,並將其導入到我現有的iOS App中。 之后,通過現有的iOS App與該庫進行交互,並允許React-Native Solution庫與現有的App進行交互。 應該有一種方法可以從現有的應用程序與RN解決方案庫進行通信,也可以從RN解決方案庫與已有的進行通信(即,從現有的iOS應用程序以及從RN解決方案啟動模塊能夠啟動視圖)的現有應用程序)這可能嗎?

您可以做您要引用的大多數事情。 打擾一下,請問...

Runninig獨立

如果您的RN目錄中沒有iosandroid文件夾,則必須從CLI運行react-native eject

可以使用以下CLI命令將React-native應用程序作為獨立的本機應用程序啟動:

react-native run-ios (僅在MacOS上)

react-native run-android

如果使用默認--port ####添加--port ####

這兩個命令都將啟動類似於沙盒本機應用程序的程序,該程序將在其中加載JS。 它還將啟動Metro捆綁器,該捆綁器也將服務於js捆綁包。

將RN加載到現有應用中

您需要添加Android和iOS的本機 RN庫作為依賴項,因此您可以使用它們從Dev服務器加載JS捆綁包或將JS捆綁包插入本機內部版本。

要使用開發服務器,請運行react-native start

要將JS構建為將添加到本機包的文件,必須運行:

react-native bundle ios后跟幾個選項

--dev false或正確

--entry-file index.ios.js更改它以匹配您的輸入文件。 可能只是index.js。 請小心匹配Java / Obj-C代碼中的名稱。

--bundle-output ../YOUR-EXISTING-IOS-APP/main.jsbundle

--assets-dest ../YOUR-EXISTING-IOS-APP

通訊

這發生在RCTBridge上

查看此頁面以獲取解釋和示例,以及如何從RN環境訪問本機功能的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM