已有项目中使用RN时,为了用户体验某些功能要求可直接从本地加载,而不是还要等待从网上下载。那怎样把bundle文件放到项目中是个问题,因为一不小心本地图片读取不到,就加载不出来了
- 打包bundle代码:
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./test/ios/bundle/index.ios.jsbundle --assets-dest ./test/ios/bundle
- 首先:assets及index.ios.jsbundle,index.ios.jsbundle.meta和appdelegate同级
-
其次:红框圈住的三个文件同时拖拽进来,options选择 Create folder refrences,切记不要选groups,不要选groups,不要选groups,重要的事情说三遍。添加后结构类似下图,可以看到下图文件夹是蓝色的,不是黄色的,注意区分蓝色和黄色的区别。
最后加载:
获取url:
let url = NSBundle.mainBundle().URLForResource("index.ios", withExtension: "jsbundle")
获取path:
let path = NSBundle.mainBundle().pathForResource("index.ios", ofType: "jsbundle")