![](/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.