当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。
当前回答
解决方案- - - > 然后打开新终端,进入你的项目路径,然后点击 React-native run-ios它适合我
其他回答
在info.plist中的NSExceptionDomains字典中检查你的“localhost”键
如果它不存在,就会导致错误。
假设你正在使用nvm并且安装了多个版本的node,下面是解决方案:
假设你在节点v6.9.5中运行npm install -g react-native-cli。 现在运行nvm alias default 6.9.5将节点v6.9.5设为默认值 现在运行react-native run-ios
问题是,你通过nvm安装了多个版本的node,为了安装react-native-cli,你已经切换或安装了最新版本的node,它还没有被标记为nvm中的默认节点。当你运行react-native run-ios时,会打开另一个新的终端窗口,其中默认的nvm不会指向你安装react-native-cli的节点版本。只要遵循上面的设置,我希望能有所帮助。
大多数情况下,此问题发生在DNS查找/ IP查找无法找到本地主机时。
解决方案:
尝试将localhost ip添加到etc主机文件中。
你可以在etc主机文件(/etc/hosts)中添加以下代码行
127.0.0.1 localhost
255.255.255.255 广播主机
::1升。ocalhost
要确认这就是问题所在 你可以在safari上点击bundle url(如果你在chrome中尝试,这将解决,但safari将无法解决它)。http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false
如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!
尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!
使用命令
react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
推荐文章
- 调整UITableView的大小以适应内容
- 在代码中为UIButton设置一个图像
- 'React'指的是一个UMD全局,但当前文件是一个模块
- 为什么useState不触发重新渲染?
- 如何使用回调与useState挂钩在反应
- 如何包括引导css和js在reactjs应用程序?
- 如何防止嵌套React组件中的事件冒泡点击?
- 网络请求失败
- NSRange从Swift Range?
- UICollectionView中的单元格间距
- 我如何在我的iOS应用程序中每n分钟得到一个后台位置更新?
- 如何使用iOS创建GUID/UUID
- 禁用所呈现视图控制器的交互式撤销
- TypeScript错误:属性“X”在类型“Window”上不存在
- Next.js React应用中没有定义Window