原生應(yīng)用中集成RN, 生成main.jsbundle

手動集成的ReactNative中,并沒有main.jsbundle需要自己手動生成該文件。

1.?首先進入ReactNative項目的根目錄,在此根目錄下創(chuàng)建/out/ios文件夾和/out/android文件夾

2.?打開控制臺進入該根目錄下,

iOS:

react-native bundle --entry-file index.js --bundle-output ./out/ios/index.ios.bundle --platform ios --assets-dest ./out/ios --dev fal

Android:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output ./out/android/index.android.bundle --assets-dest ./out/andro

3.????在對應(yīng)的ios/ android文件夾下你會發(fā)現(xiàn)分別對應(yīng)生成了(assets和index.ios.bundle

)和(assets和index.android.bundle)【這里就闡述下iOS的】

將生成的index.ios.bundle文件復(fù)制到項目根目錄下,然后打開控制臺進入項目根目錄下,輸入npm start,然后再新建一個控制臺(command+N),同樣的進入項目根目錄,輸入

curl?http://localhost:8081/index.ios.bundle -o main.jsbundle

再次進入根目錄會發(fā)現(xiàn)生成了main.jsbundle文件了。將此文件放入iOS工程項目中,在AppDelegate文件中修改成下面??(使用本地資源文件的形式)

OC寫法:jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];

Swift寫法:let jsCodeLocation =Bundle.main.url(forResource:"main", withExtension:"jsbundle")

4.????運行,結(jié)果發(fā)現(xiàn)項目是正常運行了,但是圖片卻沒了,那是因為你還需要在iOS工程項目中,導(dǎo)入之前的assets的資源文件。記得使用Create folder references,導(dǎo)入資源文件。還有改成release模式即可。

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

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