我已经使用 React Native 几个月了。但是,我真的不知道启动命令之间的区别。目前,我在我的项目中使用 npm。但是,我知道可以使用纱线。这些是我真的不明白与以下命令的区别:
exp开始,exp ios,exp android
react-native run-ios,react-native run-android
npm 开始、npm ios、npm android
在什么情况下哪个更好,为什么?目前,我正在使用 exp,但其他人使用 react-native run-ios。我曾经使用 npm ios。
先感谢您。
大概了解React Native 架构可能会有所帮助。
在原生的反应,当你写,说,<View/>,它就会过桥发送给本机代码和动态翻译成UIViewiOS和android.view.ViewAndroid上。react-native包中的每个基本组件都以这种方式实现。如果您希望在两个平台上都有额外的本机功能,例如使用本机地图组件的库,您最终将不得不将本机库分别包含到您的 Androidbuild.gradle和 iOS 中.xcodeproj。
该expCLI是用来启动与内置的应用程序博览会SDK。Expo 本质上是一个预先构建的应用程序,为方便起见,已经包含了一组特定的本机组件;你提供的只是你的 JSX;因此,如果您需要使用任何其他库,建议“弹出”到常规反应本机应用程序。
react-native run-ios并run-android构建本机.app或.apk使用 iOS 或 Android 工具链,启动 Metro Bundler,它会在调试模式下缩小 JSX 和其他资产(例如图像)并将其提供给您的设备(您可能会看到类似Loading from localhost:8081)。
在 Androidadb上,如果您启用了 USB 调试,它会启动服务器将包含所有本机库的 APK 推送到您的设备上。run-ios做同样的事情.app;如果您安装到模拟器,它会自动配置AppDelegate.m为与 通信localhost: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;根据 react-native-cli单独安装的文档将调用本地安装的 CLI 版本node_modules。
| 归档时间: |
|
| 查看次数: |
1893 次 |
| 最近记录: |