我正在学习React Native.
我找不到适用于metro bundler的文档.所以,我对此几乎没有任何疑问.顾名思义它创建了一个包.
小智 16
React Native应用程序是一个运行一些Javascript的已编译应用程序.每当您构建并运行React Native项目时,打包程序都会启动,称为Metro.您之前可能已在终端中看到此输出,让您知道打包器正在运行.
打包器做了一些事情:
将您的所有Javascript代码合并到一个文件中,并翻译您的设备无法理解的任何Javascript代码(如JSX或一些较新的JS语法).
将资源(例如PNG文件)转换为可由Image组件显示的对象.
参考:https: //hackernoon.com/understanding-expo-for-react-native-7bf23054bbcd
Roc*_*que 13
Metro 团队不断改进其文档,现在您可以在https://facebook.github.io/metro/docs/concepts 上找到一些非常好的解释(链接已更新):
Metro 是一个 JavaScript 打包器。这需要在入口文件和各种选项,并让您备份,包括人一个JavaScript文件升 你的代码和它的依赖。
所以是的,它是一种 Webpack,但对于 React Native 应用程序:)
但是捆绑文件在哪里?
一旦 bundler 启动,你可以在http://localhost:8081/index.bundle?platform=ios&dev=true& minify =false 上检查它的内容(就像 webpack,它是从内存中提供的,所以它不会被写入你的项目的文件夹)。
那个包文件有什么用?
该文件安装在设备中,以便在那里执行其代码。请记住,当您为 React Native 应用程序编写代码时,您的代码不会“转换”为 Java/Swift/whatever。Native Modules 将事件发送到 Javascript 线程,JS 线程将执行你捆绑的 React Native 代码。
小智 9
Metro是一个JavaScript捆绑程序,它接收选项,一个入口文件,并为您提供一个JavaScript文件,其中包括所有JavaScript文件。每次您运行react native项目时,都会将许多javascript文件编译成一个文件。该编译由称为Metro的捆绑程序完成。
您的问题的答案:
1>捆绑文件位于您要在其上构建应用的设备本身,并且以不同格式存储,例如在创建.bundle的Android Plain捆绑情况下。另一种格式是索引RAM束,其中文件存储为二进制文件。
2> Webpack也是类似类型的模块捆绑器,它确实捆绑到ReactJS Web平台,并且其模块可通过浏览器访问。捆绑过程类似于地铁。
3>这些捆绑的文件被索引并以特定的数字格式存储,因此在运行时易于按顺序排列JS文件。
Metro捆绑器具有多种功能,您可以在此处了解Metro在React Native中的作用:https : //medium.com/@rishabh0297/role-of-metro-bundler-in-react-native-24d178c7117e
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
12186 次 |
| 最近记录: |