android构建版本是否需要index.android.bundle?
构建版本时,我总是运行android构建版本是否需要index.android.bundle?,android,react-native,gradle,Android,React Native,Gradle,构建版本时,我总是运行react native bundle--platform android--dev false--entry file index.js--bundle output android/app/src/main/assets/index.android.bundle,感觉应用程序运行平稳。 正确吗?是的,正确 react native bundle--platform android--dev false--minify true--entry file index.js-
react native bundle--platform android--dev false--entry file index.js--bundle output android/app/src/main/assets/index.android.bundle
,感觉应用程序运行平稳。
正确吗?是的,正确
react native bundle--platform android--dev false--minify true--entry file index.js--bundle output android/app/src/main/assets/index.android.bundle--assets dest android/app/src/main/res
--minify true将帮助您的应用程序顺利运行。是的,您是对的,每次发布构建之前都需要运行此命令 如果您不想在每次发布build时都键入它,那么可以在
包.json的脚本部分中编写以下行:
"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".
例如,我在我的package.json
文件中使用如下内容:
{
"name": "Widget",
"version": "0.0.1",
"private": true,
"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"
},
"dependencies": {
"react": "^16.6.3",
"react-native": "^0.58.5"
},
"devDependencies": {
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "24.1.0",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.52.0",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
}
}
从今天起(至少对于react-native>=0.62),您不需要手动运行react-native捆绑包
当使用/gradlew assembleerelease
时,这将在完成日志中所述的构建之前完成:任务:app:bundleReleaseJsAndAssets
我还确认我自己和捆绑包没有写在正式注册护士医生那里
更深入地说,index.android.bundle
仅在您希望通过android studio安装应用程序而无需运行metro bundler的情况下使用。您能详细解释一下吗?让我们举一个例子,比如您的应用程序中有一个变量名为“reactNative”,并在许多同名组件中使用。现在--缩小true将代码(如变量名“reactNative”)缩减为a,并在任何地方替换它。这样,您的代码将缩小,在budling中占用更少的内存,并减少您的应用程序大小。@ParasKorat当--dev为false时,它会自动隐藏--minify true,因此不需要它。您能解释原因吗?官方文档中给出,您需要执行命令来创建React本机捆绑包,这将包含在你的原生Android应用程序中。我不知道确切的原因