android+rn+离线包,React Native bundle打离线包

如何打包呢?

react-native bundle

–entry-file ,ios或者android入口的js名称,比如index.ios.js

–platform ,平台名称(ios或者android)

–dev ,设置为false的时候将会对JavaScript代码进行优化处理

–bundle-output, 生成的jsbundle文件的名称,比如./ios/index.ios.jsbundle

–assets-dest 图片以及其他资源存放的目录,比如./ios 默认会生成一个新的文件夹assets

For iOS

react-native bundle --entry-file index.ios.js --bundle-output ./ios/main.jsbundle --platform ios --assets-dest ./ios --dev false

For Android

跟iOS差不多,只不过变量变为android,同时资源文件指定到现有的文件即可。

react-native bundle --entry-file index.android.js --bundle-output ./android/app/src/main/assets/index.android.bundle --platform android --assets-dest ./android/app/src/main/res --dev false

这样的一串命令以后还得用呢,那是不是可以写个脚本留给以后重复用呢?

其实可以利用npm的脚本就可以,在package.json中添加(bundle-ios)如下:

"scripts": {

"start": "node node_modules/react-native/local-cli/cli.js start",

"bundle-ios": "react-native bundle --entry-file index.ios.js --bundle-output ./ios/main.jsbundle --platform ios --assets-dest ./ios --dev false",

"bundle-android": "react-native bundle --entry-file index.android.js --bundle-output ./android/app/src/main/assets/index.android.bundle --platform android --assets-dest ./android/app/src/main/res --dev false"

|

以后每次打包直接运行:

npm run bundle-ios

npm run bundle-android

打包好的资源添加到xcode项目。

到具体的rn控制器中,采用bundle的方式集成

// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值