【问题标题】:Javascript bundler building stuck at 99%Javascript 捆绑器构建停留在 99%
【发布时间】:2019-03-29 08:44:02
【问题描述】:

Expo react-native 应用无法在连接的 iPhone 上加载

当我使用以下命令启动我的应用程序时:

expo start --tunnel

我收到以下错误:

Logs for your project will appear below. Press Ctrl+C to exit.
Unable to resolve "react-native-vector-icons/AntDesign" from 
"node_modules/react-native-elements/src/helpers/getIconType.js"
Building JavaScript bundle [=================================================================================================== ] 99%

我使用的是 ios 10.13.6 High Sierra。

有人以前见过这个问题吗?有什么调试或解决此问题的建议?

【问题讨论】:

    标签: react-native expo


    【解决方案1】:

    看起来您没有使用在 expo 中初始化项目时设置的 babel 预设。此预设将react-native-vector-icons 重新映射到@expo/vector-icons,因此如果您使用它,您将不会看到此错误。

    如果您使用的是 sdk32,您可以通过在项目中创建 babel.config.js(如果有 .babelrc,则删除)并将其添加到 babel.config.js 来解决此问题:

    module.exports = function(api) {
      api.cache(true);
      return {
        presets: ['babel-preset-expo'],
      };
    };
    

    现在关闭打包程序并运行expo start -c

    如果您使用的是比 sdk32 更旧的 sdk 版本,您只需编辑 .babelrc(如果它不存在则创建它)并将其更改为:

    {
      "presets": ["babel-preset-expo"],
      "env": {
        "development": {
          "plugins": ["transform-react-jsx-source"]
        }
      }
    }
    

    【讨论】:

      【解决方案2】:

      我从 package.json 中删除了 react-native-elements。然后我运行以下命令:

      rm -rf node_modules package-lock.json; npm 安装

      然后发出以下命令:

      expo start -c --tunnel

      这似乎已经解决了这个问题。我需要 native-react-elements 包,所以接下来我要将它添加回来并尝试使用不同版本的 react-native-elements 包进行测试。

      【讨论】:

      • 看起来react-native-elements 具有react-native-vector-icons 的对等依赖项,因此您也必须安装它。
      • @zaytrix,不应该 npm 安装包的所有依赖项吗?上面 brentvante 建议的解决方案似乎已经解决了这个问题。
      • 必须自行安装对等依赖项。但是,如果您使用 Expo,它确实预装了自己的 react-native-vector-icons 版本,这就是 brentvante 的解决方案有效的原因。
      • 有道理。谢谢@zaytix!
      猜你喜欢
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多