gpt4 book ai didi

react-native - 这些 React Native 启动命令有什么区别?

转载 作者:行者123 更新时间:2023-12-03 20:16:13 24 4
gpt4 key购买 nike

我已经使用 react native 几个月了。但是,我真的不知道启动命令之间的区别。目前,我在我的项目中使用 npm。但是,我知道可以使用 yarn 。这些是我真的不明白它们的区别的命令:

exp开始,exp ios,exp android

react-native run-ios,react-native run-android

npm 开始,npm ios,npm 安卓

在什么情况下哪个更好,为什么?目前,我使用的是 exp,但其他人使用的是 react-native run-ios。我曾经使用 npm ios。

先感谢您。

最佳答案

React Native architecture 有一个概述可能会有所帮助。 .

在 react native 中,当您编写时,比如说,<View/> ,它通过网桥发送到 native 代码并动态转换为 UIView在 iOS 或 android.view.View 上在安卓上。 react-native 中的每个基本组件包已以这种方式实现。如果您想在两个平台上添加额外的原生功能,比如使用原生 map 组件的库,您最终将不得不将原生库单独包含到您的 Android build.gradle 中。和你的 iOS .xcodeproj .
exp CLI 用于启动使用 Expo SDK 构建的应用程序. Expo 本质上是一个预构建的应用程序,为了方便起见,已经包含了一组本地组件;你提供的只是你的 JSX;因此,如果您需要使用任何其他库,建议“弹出”到常规 react native 应用程序。
react-native run-iosrun-android构建原生 .app.apk使用 iOS 或 Android 工具链,启动 Metro Bundler,它会在 Debug模式下将 JSX 和其他 Assets (例如图像)压缩并提供给您的设备(您可能会看到类似 Loading from localhost:8081 的内容)。

在 Android 上,它启动 adb如果您启用了 USB 调试,服务器将包含所有 native 库的 APK 推送到您的设备上。 run-ios.app 做同样的事情;如果您安装到模拟器,它会自动配置AppDelegate.mlocalhost:8081 交流,而通过 USB 实时重新加载必须在物理设备上手动配置。
react-native start只需启动 Metro 捆绑器,如果您已经安装了该应用程序,这将非常有用。

npm 开头的命令在您的 package.json 中定义为脚本文件。截至 RN 0.57,npm start只需调用node node_modules/react-native/local-cli/cli.js start ;这与运行 react-native start 相同; according to the docs react-native-cli单独安装会调用node_modules中本地安装的CLI版本.

关于react-native - 这些 React Native 启动命令有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53825073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com