首页 > 解决方案 > React Native 中本地 Web 服务器与 Metro Bundler 的关系

问题描述

我已经阅读了一些类似的答案,以及 Metro 和 React Native 的文档,但我仍然不清楚。本地 Web 服务器(通过 运行react-native start)和 Metro 捆绑器之间的关系究竟如何?尽管有关于 Metro 本身的信息,但关于 Web 服务器的信息并不多。

标签: react-native

解决方案


它们与工具无关。

本地 Web 服务器是本地机器上的一个 node.js 服务器。

Metro bundler 是一个 js 代码工具,可以为 react 原生项目制作 js 包,例如,有 webpack - 另一个为 web 打包 js 的工具。您还可以在 google 中查看捆绑程序的比较。

apk 或 ipa 必须包含 js 包的主要内容。

例如,这将在不运行服务器的情况下为 ios 本机项目制作捆绑包:

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

之后只需运行项目。

如果要使用 RN 的 hot reload 等功能,需要调用

react-native run-ios

这将在此服务器内运行本地服务器和捆绑程序,以便在保存新代码或在开发人员菜单中点击重新加载后重新捆绑 js


推荐阅读