每个人在尝试达到目标之前,我必须在终端中运行以下命令
react-native包--entry-file index.js --platform ios --dev false --bundle-output ios / main.jsbundle --assets-est ios
我有没有机会自动化它,就像说它在命令react-native run-ios
上重新捆绑了?
不确定是否相关,但是我在package.json
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"android-linux": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && react-native run-android"
},
想知道我们运行android-linux
时是否会自动触发以上react-native run-android
吗?
另外,对于iOS,我知道需要捆绑它,我们将AppDelegate.m更改为指向主捆绑,如下所示:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
但是我不明白Android如何指向通过脚本创建的包,这一次我们只运行命令./gradlew assembleRelease
来生成APK
答案 0 :(得分:1)
使用您的脚本,您可以为Android运行yarn android-linux
。
对于iOS,添加react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
到package.json
> scripts
,例如:
"iOS-build": "react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios"
然后您可以运行yarn iOS-build