AWS Amplify Duplicate Error: Duplicated files or mocks

AWS Amplify Duplicate Error: Duplicated files or mocks

我设置了一个新的 amplify、添加了 auth 和一个 post 确认 lambda 函数以将用户数据移动到 DynamoDB。当我 运行 NPM 启动时,出现此错误:

Failed to construct transformer: DuplicateError: Duplicated files or mocks. Please check the console for more info at setModule (C:\Users\cjfew\Desktop\Fresh\MyDemo\node_modules\jest-haste-map\build\index.js:543:17) .js:426:22 {

mockPath1: 'amplify#current-cloud-backend\function\FreshAuthPostConfirmation\src\package.json',

mockPath2: 'amplify\backend\function\FreshAuthPostConfirmation\src\package.json' } '''

根据我的阅读,#current-cloud-backend 是由 amplify 创建的,基于后端文件夹中的文件。似乎 package.json 应该在那里,但我不确定为什么它是错误的。我在某个地方看到我应该只删除子类重复文件,我认为它是#current-cloud-backend 中的文件,但是每次我推送它时,amplify 都会继续产生这个错误,我该如何避免这种情况到底发生了什么?

Amplify GitHub Issue 中有关于此错误的讨论。文件 package.json 在 jest-haste-map 中出现了两次,解决方案是在构建和启动应用程序时明确忽略 #current-cloud-backend 文件夹。

问题的解决方案取决于您的 React Native 版本:您会找到关于文件排除如何适用于不同版本的概述。例如,您可以创建一个包含以下内容的 metro.config.js 文件以排除 #current-cloud-backend:

const exclusionList = require('metro-config/src/defaults/exclusionList');
module.exports = {
  resolver: {
    blacklistRE: exclusionList([/#current-cloud-backend\/.*/])
  }
};

并安装 metro-config 作为开发依赖项。如果这不起作用,您可以尝试链接中的其他一些解决方案。