问题标签 [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 回答
505 浏览

javascript - 如何将嵌套的 JSON 数据导入 JavaScript

我有一个名为 ui-components.json 的 JSON 文件,其中包含移动应用程序中使用的用户界面组件的配置数据。以下是文件中的数据示例:

目前,正在有选择地导入此数据,如下所示 -

虽然这可行,但导入的数据比必要的多得多(比上面的示例中显示的要多)。导入配置数据的文件只需要color,所以我尝试了下面的变体,但编辑器显示错误,果然,当尝试运行应用程序时,它抛出了错误。

是否有可能做到这一点?如果是这样,正确的语法是什么?如果不是,为什么不呢?

0 投票
0 回答
148 浏览

javascript - Metro Bundler 没有编译 React Native App

我对 React Native 完全陌生。我从过去两周开始学习 React Native,一切都很好并且工作正常。但是今天我在编译我的应用程序时遇到了问题。正如您在图片中看到的那样,它正在显示编译但它不会编译我等了一个小时但没有任何改变。 Metro 捆绑图像

0 投票
1 回答
1260 浏览

javascript - Metro extraNodeModules 不起作用 - 错误:无法解析模块

我有一个现有的 React 本机应用程序。我想创建另一个并在它们之间共享一些代码。我利用 MetroextraNodeModules将共享代码导入到任一应用程序中。在任一应用程序中,我希望能够执行以下操作:

不幸的是,当我的开发设备上加载应用程序包时,它失败了:

文件夹结构(shared文件夹存在 - 这是来自 的输出tree):

我的地铁配置:

0 投票
17 回答
43136 浏览

react-native - 未连接任何应用程序。向所有 React Native 应用程序发送“重新加载”失败。确保您的应用程序正在模拟器或通过 USB 连接的手机上运行

React Native 应用在真机上调试存在一些问题;

我的地铁捆绑器控制台发出警告:

警告并导致真正的 IOS 设备连接问题。

当我尝试从 Chrome React Native Debugger 重新加载我的 react native 应用程序时,它给出了上述警告,我无法在 Chrome 上调试我的代码

反应原生:0.62.2,

IOS:13.6

它发生在真实设备连接上。当我使用IOS模拟器时,没有问题。

注意:我的手机和 macbook 在同一个 wi-fi 网络上。

所以问题与不同的 wi-fi 网络使用无关。

0 投票
1 回答
809 浏览

react-native - 如何在 expo 项目中导入外部打字稿文件

有没有办法从 expo 项目主文件夹之外的文件夹中转换和支持导入?

我希望从共享文件夹中导入一些其他文件。

这是我的设置和问题:

根文件夹

有 3 个子文件夹, no package.json​​, no tsconfig.json​​,只有那些:

  • /server --> 一个 nodejs 的 rest api
  • /mobile --> 一个展览项目
  • /shared --> 一个包含许多常见打字稿文件的文件夹

移动文件夹

这个有使用typescript生成的 expo 项目。项目工作正常,直到我从./shared.

从 expo 文件夹中导入文件./shared不起作用:(正在npm run start运行./mobile fodler

我得到的错误是这样的:

网站:

网页错误截图

IOS: ios 错误截图

我的假设是找到该文件但未触发 babel/typescript 转换。我不确定在哪里可以指定这个方面。

mobile/babel.config.js的是世博会生成的标准:

没有mobile/metro.config.js

我查看了文档,在 expo 和 metro 配置之间迷路了。

0 投票
1 回答
521 浏览

react-native - Metro bundler 错误当我运行 expo start

我正在做一个 react native expo 项目。在我更新我的 MacBook 之前,我一直在运行 expo start 没有问题。现在,我面临这个错误:

无法从 Metro 捆绑器获取状态。连接 ECONNREFUSED 127.0.0.1:19003 连接到 Metro 捆绑器失败。

我的博览会诊断如下:

Expo CLI 3.22.3 环境信息:系统:操作系统:macOS 10.15.5 Shell:5.7.1 - /bin/zsh 二进制文件:节点:12.18.3 - /usr/local/bin/node npm:6.14.6 - /usr /local/bin/npm IDE:Android Studio:3.6 AI-192.7142.36.36.6200805 Xcode:11.6/11E708 - /usr/bin/xcodebuild npmPackages:expo:^38.0.0 => 38.0.8 反应:16.11.0 = > 16.11.0 react-dom: 16.11.0 => 16.11.0 react-native: https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz => 0.62.2 react-native-web: ~0.11.7 => 0.11.7 npmGlobalPackages: expo-cli: 3.22.3

0 投票
4 回答
3871 浏览

react-native - 无法加载脚本。确保您正在运行 Metro 服务器或您的捆绑包“index.android.bundle”已正确打包以供发布

我用 react-native init 创建了一个新项目。我正在使用带有以下内容的 react-native:“react”:“16.13.1”,“react-native”:“0.63.2”。

当我尝试使用react-native run-android命令运行该应用程序时,它显示在终端中构建成功,但我的 Metro 捆绑器中没有出现任何内容(我正在附加它的图像),并且我的模拟器显示“无法加载脚本”问题。 无法加载脚本

如果我按“R”在 node(bundler) 中重新加载应用程序,它会说没有连接到它的设备,但我的模拟器正在运行。我在个人设备上也遇到了同样的问题。 地铁捆绑器未运行

我还尝试通过在其中创建资产文件夹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

仅当应用程序显示在模拟器上并且我在App.js文件中进行更改并保存它时,模拟器中没有任何更改。

如果我重新加载错误“无法连接到开发服务器”弹出。 无法连接到开发服务器 甚至尝试了 adb reverse 并将“dev”选项更改为本地主机和端口 8081,但它没有用。(如果有任何我应该尝试上述步骤的特定路径,请提及)。

我做错了什么?

任何人都可以帮忙吗?

PS:我使用的是 Windows 10 机器。

谢谢你。

0 投票
0 回答
101 浏览

expo - 世博会运行时显示的二维码

每当我使用 npm start(使用 expo btw)运行我的 react-native 应用程序时,我都会获得一个 QR 码,以便能够使用 expo 应用程序在我的手机上运行该应用程序。此代码也可以在浏览器博览会开发工具上使用。我正在使用可视代码并安装了一个名为“更漂亮”的扩展。之后,每次我运行我的应用程序,终端输出都不一样,二维码不再出现,甚至在浏览器中也没有,它只是永远编译。

之前: https ://imgur.com/a/0JE5LF7

之后: https ://imgur.com/a/XdQlIVc

它现在运行在“webpack 模式”而不是像以前那样使用“metro”,我是世博会和应用程序开发的新手,所以不知道如何改回来。

0 投票
9 回答
54892 浏览

android - 类型错误:cb.apply 不是函数

我正在尝试运行使用 Metro Bundler 的现有 React Native 项目。我的操作系统是 Ubuntu 20.04,我尝试在物理 Android 设备和使用 Android Studio 创建的 Android 模拟器上运行该应用程序。

我已经成功克隆了项目的 repo,安装了它的依赖项(yarn),构建了应用程序(react-native run-android),并在我的手机和模拟器上打开了应用程序。但是,运行react-native start错误说TypeError: cb.apply is not a function。这是我在运行时得到的完整信息和错误react-native start

安装graceful-fs(正如另一篇关于同一问题的帖子所建议的那样)并没有改变任何东西,我仍然得到同样的错误。

这里可能是什么问题?提前致谢。

0 投票
1 回答
250 浏览

javascript - 在现有的 android 应用程序中运行 RN View 会出现错误无法加载脚本

我已将现有的 android 应用程序集成到反应本机应用程序中。当我使用 react native cli 运行时,它会打开应用程序,单击按钮打开 RN 视图后会出现错误Unable to load script Make sure you are either running a Metro server or that your bundle 'index.android.bundle' is packaged correctly for release(参考图片)

如果我使用命令手动创建 index.android.js

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

并运行该应用程序,它工作正常。

我也可以在这个 url 上看到 bundle

http://localhost:8081/index.bundle?platform=android&dev=true&minify=false

知道我缺少什么吗?

错误

我在模拟器中运行应用程序,而不是飞行模式。

开发服务器在 8081 上

Bundler 像这样打开,但是在单击 RR 时,它说No apps connected(参考图片)

地铁捆绑器