问题标签 [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.
ruby-on-rails - 如何通过在 Expo 上运行的 React Native 应用程序连接到本地 Rails 后端?
我继承了一个相当复杂的 React Native 应用程序,所以如果我在问这个问题时不了解有关该应用程序的所有信息,请提前道歉。
我有一个使用 Expo 的 React Native 应用程序。我运行expo start
在浏览器中启动 Metro。然后我使用 LAN 选项通过手机上的 Expo 应用程序将我的 iPhone 连接到本地应用程序。当我使用 LAN 时,我通过一个看起来像192.168.0.xxx:19000
.
该应用程序在我的手机上加载良好,但每当我尝试网络请求(即,fetch
调用也在我的本地计算机上运行的 Rails 服务器)时,该应用程序似乎无法连接到后端。
我正在使用以下命令运行 Rails 服务器:rails server
Rails 服务器运行后,我可以127.0.0.1:3000
在浏览器中查看在 Rails 中创建的应用程序的后端。
但是,每当我fetch
从应用程序向 API 发出请求时,无论是127.0.0.1:3000
或192.168.0.xxx:19000
(这xxx
是一个实际的三位数字),请求都会失败。基本上,我一生都无法弄清楚如何通过 Expo 从手机上运行的 React Native 应用程序向本地机器上运行的 Rails 服务器发出正确的请求。
我尝试过类似http
vs.的东西https
,但没有运气。我也用谷歌搜索了这件事,但我仍然无法弄清楚发生了什么。部分问题在于该应用程序本身是如此庞大和复杂,而我对它仍然如此陌生,以至于我不确定我是否只是从根本上误解了 Expo 和 React Native 应该如何向后台发出请求-结束,或者如果应用程序本身有一些古怪的东西阻止我提出请求。
任何关于如何让应用程序正确连接到 Rails 服务器的建议/想法将不胜感激。谢谢你。
node.js - React Native 中的 require() 解析
我试图找出为什么require('foo/bar.png')
在两个 RN 项目中的工作方式不同
在一个项目中, foo 通过 metro.config.js 注册为 root
在另一个项目中, foo 位于 app_root/node_modules 下
所以在这两个项目中,我都可以import something from 'foo/something'
但是当涉及到时require
,两个项目的行为不同..
里面有一条线foo/components/hello.js
在第一个项目中,正确找到了图像文件,
但是第二个项目抱怨它找不到错误/path/to/root_project/node_modules/foo/component/node_modules/foo/assets/image.png
似乎require
假设require
调用的位置应该是项目根目录或其他东西。
我应该在哪里寻找或如何调试它?
我可以在 ReactNative 项目中打印 module.paths 吗?
node.js - Haste 模块映射中不存在“HMRClient” - 项目在“npm install”后无法运行
我使用了节点8.x ,并使用.x升级到新节点12.13.0brew
。
在此之后我尝试运行项目并且它工作正常。
然后我做了npm install ofSomePackage
,我收到了这样的消息:
npm audit
要求使用npm install
我没有任何改变。
当我尝试运行项目时,我发现一些包丢失了,所以我再次安装丢失的包。但我坚持这一点:
我检查了,那个文件存在。请帮忙。
expo - 当 expo livereload 停止时,清单可以是什么?
首先,我要说的主要事情是,我不知道如何重现这个问题。
我所拥有的唯一信息是,当与我的计算机在同一个 wifi 网络中使用设备时,在第一对保存的重新加载中,正如预期的那样工作。但突然它停止捕捉新的保存。
由于我不知道是什么特定操作导致 livereload 停止工作,我也不知道要检查什么。
一个可能提供线索的特定信息是,如果我手动从设备重新加载,它会执行预保存版本。这让我想,保存没有被捕获,这就是为什么新版本也没有被编译。(请记住,这发生在几次正确的重新加载之后,这就是为什么我不认为这是一个设置问题。即使是这样,我也没有触及 expo-cli 在生成项目时带来的设置,除了“yarn正如人们所期望的那样添加新的软件包。)
问题是,当 expo livereload 停止时,清单可以是什么?
android - React native 0.61.3 android - 无法更改应用程序 ID
我正在使用新的npx react-native init
.
我需要更改它给 android 应用程序的默认应用程序 ID。为此,我做了:
- 更改to
package="com.myapp"
中的值manifest.xml
package="mycomp.myapp"
- 将
applicationId "com.myapp"
值更改applicationId "mycomp.myapp"
为app/build.graddle
- 将 src 包更改
com/myapp/MainApplication
为mycomp/myapp/MainApplication
在
/li>_BUCK
文件下面更改它(不确定它到底是什么......):
之后,即使在./gradlew clean
成功运行npx react-native run-android
命令后,应用程序也会安装但崩溃:
我们还看到 Metro 已启动并正在侦听,但调试应用程序从未访问过它:
知道为什么吗?
在我的npx react-native info
输出下面找到:
android - “无法从资产 'index.android.bundle' 加载脚本。确保...”
似乎 Metro Bundler 没有加载......它正在打开和关闭,我看不到在关闭之前没有任何东西在里面运行。出于这个原因,模拟器没有运行应用程序。
运行后出现错误:
反应原生初始化项目
react-native run-android
包.json
react-native - React Native:错误:捆绑失败:index.js:“”不是有效的标识符名称
我有一个 React Native 应用程序,它在今天早上早些时候运行良好。我package-lock.json
在错误地做了 annpm install
而不是yarn install
. 然后我跑了yarn install
,现在当我尝试运行我的应用程序时,我在打包程序中收到此错误:
我还关闭了打包程序和 Vscode,删除node_modules
并再次尝试运行yarn install
,但我得到了同样的错误。我的代码中没有更改任何一行,并且在此之前它正在工作。
到底是怎么回事?
react-native - 如何修复 Metro Bundler 进程以代码 1 退出
如何修复 Metro Bundler 进程以代码 1 退出 Metro 'Bundler' 进程以代码 1 退出
javascript - 生成的源图有误
我正在用 React native 制作一个应用程序。我react-native-debugger
用于调试应用程序。调试器正在工作,但生成的源映射似乎错误,日志指向不同的文件。我在清除缓存后尝试使用 chrome 调试器,它工作正常,但是当我切换到 react-native-debugger 时,日志显示不正确。
React Native Debugger app 版本:0.10.2
React Native 版本:0.58.5
平台:Android
是否为真机平台:是
操作系统:macOS