【问题标题】:Failed building JavaScript bundle. Cannot read property 'reduce' of undefined on react native module traverseDependencies.js构建 JavaScript 包失败。无法读取反应原生模块 traverseDependencies.js 上未定义的属性“减少”
【发布时间】:2021-08-25 00:22:09
【问题描述】:

**嗨,我不知道这里发生了什么,这是一个有依赖关系的发布,这是一个我没有编写的代码,它是一个捆绑包,我使用 expo 运行我的代码,但是,无法打开我的应用程序,因为那个错误请帮忙!!这是一个大学项目**

function resolveDependencies(parentPath, dependencies, options) {
  const resolve = (parentPath, result) => {
    const relativePath = result.name;

    try {
      return [
        relativePath,
        {
          absolutePath: options.resolve(parentPath, relativePath),
       data: result
        }
      ];
    } catch (error) {

忽略不可用的可选依赖项。它们由 try-catch 块保护,并将在运行时处理。

if (result.data.isOptional !== true) {
           throw error;
         }
        }

       return undefined;
     };

     const resolved = dependencies.reduce((list, result) => {
       const resolvedPath = resolve(parentPath, result);

    if (resolvedPath) {
      list.push(resolvedPath);
    }

        return list;
      }, []);
  return new Map(resolved);
}
  • 重新遍历 DFS 中的依赖关系图以重新排序模块和
  • 保证运行之间的顺序相同。此方法对传递的图进行变异。

【问题讨论】:

    标签: javascript android dependencies expo react-native-android


    【解决方案1】:

    我在最新的 expo-cli 4.8.1 上遇到了同样的问题。 对我来说,帮助以下步骤

    • 从 4.8.1 降级 -> 4.7.3 npm install -g expo-cli@~4.7.3
    • 通过执行 npm cache clean --force 清除 npm 缓存
    • 通过删除 C:\Users\AppData\Local\Temp 文件夹中的所有内容来清除本地用户缓存。

    经过这些步骤,它又可以工作了

    【讨论】:

      【解决方案2】:

      删除系统缓存临时文件夹内容将起作用, 当我遇到同样的问题时,这个解决方案可以帮助我解决问题

      【讨论】:

        【解决方案3】:

        我在 expo-cli 版本 4.12.1 上运行 expo start --dev-client 时遇到了这个问题。

        我通过添加 --clear 标志(清除 Metro 捆绑器缓存)解决了这个问题

        【讨论】:

          猜你喜欢
          • 2021-06-08
          • 2019-02-01
          • 1970-01-01
          • 2020-06-30
          • 2018-12-12
          • 2019-10-02
          • 2018-09-10
          • 1970-01-01
          • 2019-01-11
          相关资源
          最近更新 更多