ReactNative ios.jsbundle文件生成
2019-01-21 本文已影响0人
Yana_Lin
ReactNative生成jsbundle 分为 curl命令 和 bundle命令两种方式
1.curl命令download jsbundle
curl命令生成步骤如下:
1.在React Native项目根目录下运行
$ npm start
2.使用curl命令生成main.jsbundle
$ curl[http://localhost:8081/index.ios.bundle](http://localhost:8081/index.ios.bundle)-o main.jsbundle
3.将根目录下生成的main.jsbundle导入ios项目中
4.在AppDelegate.m中使用main.jsbundle
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
2.react-native bundle命令生成
react-native bundle
bundle Options:
-h, --help输出如何使用的信息
--entry-file RN入口文件的路径,绝对路径或相对路径
--platform [string] ios或andorid
--transformer [string] Specify a custom transformer to be used
--dev [boolean]如果为false,警告会不显示并且打出的包的大小会变小
--prepack当通过时,打包输出将使用Prepack格式化
--bridge-config [string]使用Prepack的一个json格式的文件 __fbBatchedBridgeConfig例如: ./bridgeconfig.json
--bundle-output 打包后的文件输出目录,例: /tmp/groups.bundle
--bundle-encoding [string]打离线包的格式可参考链接https://nodejs.org/api/buffer.html#buffer_buffer.
--sourcemap-output [string]生成Source Map,但0.14之后不再自动生成source map,需要手动指定这个参数。例: /tmp/groups.map --assets-dest [string]打包时图片资源的存储路径
--verbose显示打包过程
--reset-cache移除缓存文件
--config [string]命令行的配置文件路径
2.使用react-native bundle命令生成jsbundle :
1.在项目根目录下创建/bundle/iosBundle/目录
2.在项目根目录下运行
$ react-native bundle --entry-file index.ios.js --bundle-output ./bundle/iosBundle/index.ios.jsbundle --platform ios --assets-dest ./bundle/iosBundle/ --dev flase
3.将生成的index.ios.jsbundle导入ios项目中
4.在AppDelegate.m中使用index.ios.jsbundle
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"index.ios" withExtension:@"jsbundle"];
3.生成jsbundle文件如下
Screen Shot 2019-01-21 at 5.47.49 PM.png
现在可以在ios真机上运行了!