当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。


当前回答

如果您正在运行IOS模拟器,请确保需要运行此命令

react-native运行android 或 npm运行android

一旦你运行以上命令metro bundler将启动,然后运行react- negative run-ios它将工作。

其他回答

以下步骤:

用xcode打开ios文件项目 在项目包中删除main。jsbundle文件 通过main添加新的空文件。jsbundle名字 运行comment: react-native bundle——entry-file index.js——platform ios——dev false——bundle-output ios/main。Jsbundle——assets-dest ios 现在是react-native run-ios

youtube链接:https://www.youtube.com/watch?v=eCs2GsWNkoo

在info.plist中的NSExceptionDomains字典中检查你的“localhost”键

如果它不存在,就会导致错误。

检查你的网络代理,最好关闭它。

或者你应该找其他方法来维护打包服务器

当您不允许通过localhost进行不安全连接时,或者您试图通过http接受不安全连接时,就会发生此问题。

要解决这个问题,在info.plist上添加这个:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
    </dict>

如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!

尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!