![](/img/trans.png)
[英]How to fix React Native error "jest-haste-map: Haste module naming collision"?
[英]Haste module naming collision: react native app with AWS Service (Amplify Project)
我已经开始使用 react native 项目,之前是在本地代码中。 我想添加 Amazon Lex,所以按照链接中的以下步骤操作
https://aws-amplify.github.io/docs/js/interactions
下面是我的 App.js 文件
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
export default function App() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
我刚刚设置了放大库并为 LEX 添加了交互,但是当我尝试运行应用程序时开始出现错误。 在添加之前工作正常......一旦创建了 Amplify 文件夹并开始出现后端错误......
(节点:26180) UnhandledPromiseRejectionWarning:错误:jest-haste-map:Haste 模块命名冲突:重复的模块名称:myamplifyproject_cfnlambda_87887b9a 路径:C:\Users\temp\Desktop\myAmplifyProject\amplify6620\interactions\rc\lexpackage. json 与 C:\Users\temp\Desktop\myAmplifyProject\amplify#current-cloud-backend\interactions\lex900662fd\src\package.Z4668716ECDF35FCA56D 冲突
这个错误是由
hasteImpl
为不同的文件返回相同的名称引起的。 在 setModule (C:\Users\temp\Desktop\myAmplifyProject\node_modules\jest-haste-map\build\index.js:569:17) 在 workerReply (C:\Users\temp\Desktop\myAmplifyProject\node_modules\jest- haste-map\build\index.js:641:9) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async Promise.all (index 30) ERROR 18:24 (node:26180) UnhandledPromiseRejectionWarning: Unhandled promise 拒收。 此错误源于在没有 catch 块的情况下抛出异步 function 内部,或拒绝未使用.catch() 处理的 promise。 (拒绝 ID:2)(节点:26180)[DEP0018] DeprecationWarning:不推荐使用未处理的 promise 拒绝。 将来,未处理的 promise 拒绝将使用非零退出代码终止 Node.js 进程。 (节点:26180) UnhandledPromiseRejectionWarning:错误:jest-haste-map:Haste 模块命名冲突:重复的模块名称:myamplifyproject_cfnlambda_87887b9a 路径:C:\Users\temp\Desktop\myAmplifyProject\amplify6620\interactions\rc\lexpackage. json 与 C:\Users\temp\Desktop\myAmplifyProject\amplify#current-cloud-backend\interactions\lex900662fd\src\package.Z4668716ECDF35FCA56D 冲突这个错误是由
hasteImpl
为不同的文件返回相同的名称引起的。 在 setModule (C:\Users\temp\Desktop\myAmplifyProject\node_modules\jest-haste-map\build\index.js:569:17) 在 workerReply (C:\Users\temp\Desktop\myAmplifyProject\node_modules\jest- haste-map\build\index.js:641:9) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async Promise.all (index 30) (node:26180) UnhandledPromiseRejectionWarning: Unhandled ZB321DE37BDC299EC807D 拒绝。 此错误源于在没有 catch 块的情况下抛出异步 function 内部,或拒绝未使用.catch() 处理的 promise。 (拒绝编号:3)
我已经使用了 react-native 的所有最新版本。
我尝试了下面的解决方案,但没有工作如何让反应本机打包程序忽略某些目录
我只是按照步骤......我哪里出错了......错过了任何东西......请帮助......这是我第一个反应原生的应用程序......我真的迷路了
经过许多不眠之夜和测试不同的解决方案,我终于能够通过..我正在使用最新的 react-native > 0.59(我猜是 0.61)我的应用程序已经在根目录中创建了 metro.config.js 文件,必须编辑相同的文件。
const blacklist = require('metro-config/src/defaults/blacklist'); // on top
resolver: {
blacklistRE: blacklist([/#current-cloud-backend\/.*/]) //add within module export
}
我呼吸了新鲜空气……现在一切正常……
请不要创建新的 metro.config.js 或 rn-cli.config.js。 使用#current-cloud-backend而不是后端文件夹编辑当前的 metro.config.js。 这个非常重要。 后端将被忽略....
这将对将来的某人有所帮助....因为给出的解决方案都不起作用....对于最新的本机反应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.