【问题标题】:How RN app communicate with metro bundler?RN 应用程序如何与 Metro bundler 通信?
【发布时间】:2020-06-25 02:46:56
【问题描述】:

我正在构建我的第一个 react-native 应用程序,我对在谷歌上搜索了很多但附近没有找到的东西感到困惑。

当我们开始开发时,我们会在模拟器或设备中部署 android 应用程序,并且需要运行 Metro bundler 来拉取 js 包。我不知道 App 和 Metro bundler 是如何通信的,谁使这种通信成为可能,以及当我们进行 prod build 时它有何不同?

【问题讨论】:

标签: android reactjs react-native react-native-android metro-bundler


【解决方案1】:

Metro 是一个 JavaScript 捆绑器,它接受选项、一个入口文件,并为您提供一个包含所有 JavaScript 文件的 JavaScript 文件。每次运行 react native 项目时,都会将许多 javascript 文件编译到一个文件中。这个编译是由一个叫做 Metro 的打包器完成的。

回答您的问题:

1 捆绑文件位于您正在构建应用程序的设备本身上,并以不同格式存储,例如创建 .bundle 的 Android 普通捆绑。另一种格式是索引 RAM 包,其中文件存储为二进制文件。

2 Webpack 也是一种类似类型的模块捆绑器,它捆绑到 ReactJS Web 平台,并且它的模块可以通过浏览器访问。捆绑过程与地铁类似。

3 这些捆绑的文件被索引并以特定的数字格式存储,因此在运行时很容易按顺序排列 JS 文件。

Metro bundler 有多种功能,你可以在这里阅读 Metro 在 React Native 中的作用 Role of metro and communication

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多