node.js中的Haste模块映射是什么?

12

当我启动时:

react-native bundle --entry-file='index.js' --bundle-output='./ios/MyProject/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'

我有一个错误提示:

Unable to resolve module `util` from `/Users/canatac/RNProjects/<MyProject>/node_modules/<A_Module>/lib/Bot.js`: Module `<A_Module>` does not exist in the Haste module map.

但是什么是Haste模块映射?


4
这真让我抓狂。我遇到了类似的错误,但就是找不到有关这个“Haste模块映射”的任何文件或文档,也不知道它是做什么用的或如何解决它。这就是为什么这些JS框架总是让人抓狂,整个生态系统都很疯狂。 - Shayne
2个回答

1

我曾经遇到过同样的错误,这个Github帖子帮了我。

我也遇到了类似的问题-运行npm start -- --reset-cache命令有所帮助。

从问题本身来看,它与/tmp/haste-map-react-native-packager-*有关,因此与React Native Packager有关。


1
是的,谢谢,我学会了那个技巧。我也看到Haste Map是依赖图。但是用大写字母'H'写,我想知道它是否是一种概念或参考包依赖图。 - Jan ATAC

1
我可能找到了一个解释。 这个GitHub repo 提示,Haste是一个已弃用的Facebook静态资源依赖管理系统。 这篇SO文章 告诉我们,Haste是Node的一种替代方案。
因此,我可以得出结论:Haste Map是一个节点项目所有静态依赖引用的映射,并且作为一个已弃用的系统,应该避免使用,而选择Node模块系统。

不再使用过时的方法...现在是facebook/jest/packages/jest-haste-map - vaughan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接