手動集成的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模式即可。