问题标签 [metro-bundler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4411 浏览

javascript - 无法反应原生添加自定义资产,metro.config.js 被忽略

我正在尝试在具有以下配置的本机应用程序中使用自定义资产:

我声明 moule 仅在 metro.config.js 和 react-native.config.js 中使用我的自定义扩展,如下所示:

但消息仍然是一样的:

所以 metro.config.js 和 react-native.config.js 显然被忽略了

更新:在具有最新依赖项的全新 react-native 应用程序中尝试时,会显示一条验证消息:

UPDATE2:我在一个单独的分支上创建了一个展示问题的存储库以及一个不起作用的解决方案建议(使用 app.json 而不是 metro.config.js 或 react-native.config.js)。你可以在这里找到它:

https://github.com/Macilias/ReactNativeAssetFail

0 投票
1 回答
2631 浏览

android - 创建发布版本时 index.android.bundle 未更新

我正在 ReactNative 中开发一个项目,它在调试版本中运行良好(通过react-native run-android安装时,但是当我生成发布版本时,它一打开它就崩溃,根据日志它无法加载脚本,而android/app/src/main/assets目录为空。

为了解决这个问题,我必须运行这些命令: react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

rm -rf ./android/app/src/main/res/drawable-*

但是现在文件index.android.js不会在发布版本中更新,所以我每次需要发布版本时都必须运行上述命令,我做错了什么?

这是我的 packages.json 详细信息:

简而言之:当我生成发布版本时,如何自动创建或更新 index.android.bundle?

0 投票
0 回答
258 浏览

react-native - 潜在错误 - React Native 中的默认应用程序崩溃

我在 macOS Catalina 10.15.1 中使用 Expo 3.9.1 引导我的 React Native 项目。

当我尝试从头开始创建项目时发生错误。以下是重现它的步骤


expo init MyProject步骤1:通过在终端中运行创建一个项目。

第 2 步:选择第 3 项“选项卡”,带有基本导航

第 3 步:运行cd MyProject

第 4 步:运行expo start

第 5 步:扫描 Metro Bundler 中的二维码

第 6 步:接收错误

无法从“node_modules/react-navigation/src/react-navigation.js”中解析“./deprecations”


有谁知道发生了什么以及如何解决它?我的应用程序已经崩溃了,我还没有写一行代码:/

0 投票
1 回答
518 浏览

react-native - 升级 React Native 后无法读取未定义错误的属性“缓存”

运行 react-native 应用程序时 Metro bundler 构建失败并出现以下错误,

捆绑失败:node_modules/react-native-draftjs-render/index.js:app/node_modules/react-native-draftjs-render/index.js:无法读取未定义的属性“缓存”

如何解决这个..?我正在将我的 react-native 项目升级到 0.61.5。(我对 react-native 真的很陌生)

0 投票
1 回答
572 浏览

ios - React Native - Xcode Simulator 上的 .app 文件要求提供 Bundle URL

我想为我的 react native 应用程序生成 .app 或 .ipa 文件,以便我可以将它用于使用 Appium 在模拟器上进行自动化测试。这是用于为模拟器构建应用程序文件的命令(使用 Fastlane)

这将生成一个 .app 文件。我已经使用以下命令在模拟器上安装了相同的

它将成功安装应用程序,启动时将等待几秒钟并在屏幕上显示错误消息。

在此处输入图像描述

它要求 Metro bundle 打包器。所以我的怀疑是

我们是否需要像 Metro bundler 这样的打包程序在模拟器中运行 .app 文件?如果是这样,我如何在构建过程中添加它?

0 投票
1 回答
140 浏览

react-native - 在纯命令工作时启动纱线运行脚本启动错误(React Native Project)

我在 package.json 中添加了一个脚本命令,如下所示:

当我在没有纱线的情况下执行此命令时,该命令运行良好。

但是当我尝试使用yarn ( yarn run iosyarn ios ) 执行它时...该命令执行良好,但 Metro bundler 因给定错误而失败:

有谁知道发生了什么?谢谢。

0 投票
0 回答
48 浏览

node.js - 构建成功后,React Native 中的应用程序无法在设备中打开

构建成功后将显示如下所示 Error ScreenShot Installed on 1 device.

在 22 秒内构建成功 27 个可操作的任务:1 个已执行,26 个是最新的 系统找不到指定的路径。info 启动应用程序(C:\Users\admin\AppData\Local\Android\Sdk\platform-tools/platform-tools/adb shell am start -n com.sae/com.sae.MainActivity...

但是什么是“系统找不到指定的路径”?

我该如何解决?

提前致谢

0 投票
0 回答
228 浏览

reactjs - React & react-native monorepo:node_module 导入问题

我已经建立了一个带有纱线工作区的 monorepo,其中包含一个 react & react-native 应用程序。这是结构:

为了在两个应用程序之间共享逻辑,表示组件被包装在ExampleComponentContainer.jswhich importExampleComponent.native.jsExampleComponent.js中,具体取决于捆绑器。我将 redux 和 react-redux 添加到共享包package.json中,并将它们导入 ExampleComponentContainer.js 和两个应用程序的入口点 App.js。虽然 webpack 从根 node_modules 文件夹导入模块没有问题,但如果我将它们指定为,metro 只会为 react-native 应用程序挑选它们

只是使用

不工作。这是我得到的错误:

iOS 错误信息

这是我的 metro.config.js:

感谢任何提示如何解决这个问题。

0 投票
1 回答
677 浏览

react-native - --indexed-ram-bundle 对 React Native 捆绑的意义

最近我开始使用带有内联需求的 RAM 包来获得更好的 React Native 启动性能。为此,我几乎只是遵循了官方指南。它工作正常,但在指南的 Android 部分中,他们说:

如果要使用单个索引文件,请在 Android 上使用以下行:

有什么意义--indexed-ram-bundle?为什么我想要或不想拥有单个索引文件?

我看到默认情况下 iOS 似乎使用单个索引文件,而 Android 将创建一组文件。

0 投票
3 回答
2264 浏览

docker - 带有 Expo dockerized 应用程序的 Metro 捆绑器无法正常工作

我正在尝试对 Expo React Native 应用程序进行 docker 化,以便我的团队合作伙伴中的任何人都可以下载 repo,然后制作一个docker-compose up并且毫不费力地在他们的计算机上运行相同的 expo 服务器。
到目前为止,我可以构建容器,并且它显示的信息与我在计算机上本地运行时显示的信息相同。

在此处输入图像描述

尝试启动 Metro 捆绑器时出现问题,http://localhost:19002无法访问 url。端口 19001 不会发生这种情况,它工作得很好。此外,我尝试用我的 iPhone 设备扫描 QR 码,但它也不起作用,因为我猜没有找到 docker ip。

我无法弄清楚我做错了什么,并且网络上没有太多关于 dockerize expo 的信息。

这些是我的 dockerfile 和 docker-compose.yml