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

Posted

技术标签:

【中文标题】node.js 中的 Haste 模块映射是啥?【英文标题】:What is the Haste module map in node.js?node.js 中的 Haste 模块映射是什么? 【发布时间】:2018-12-09 13:11:58 【问题描述】:

当我启动时:

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 模块映射?

【问题讨论】:

这让我发疯了。我遇到了类似的错误,在我的一生中,我找不到任何关于这个“Haste Module Map”的文档,它的作用,或者如何修复它。这就是为什么这些 JS 框架让我如此疯狂。整个该死的生态系统都疯了 【参考方案1】:

同样的错误发生在我身上一次,that Github thread 帮助了我。

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

基于问题本身,它以某种方式连接到/tmp/haste-map-react-native-packager-*,因此是 React Native Packager。

【讨论】:

是的,谢谢,我学会了这个技巧。我还看到 Haste Map 是依赖图。但是用大写的'H'写,不知道是不是包依赖映射的一种概念或引用。【参考方案2】:

我可能会找到一种解释。 Haste 是一个已弃用的 Facebook 静态资源依赖管理系统 as this GitHub repo 建议。

This post in SO 告诉我们 Haste 是 Node 的替代品。

然后,我可以得出结论,Haste Map 是节点项目的所有静态依赖项引用的映射,并且必须避免弃用系统以支持 Node 模块系统。

【讨论】:

不推荐使用...现在是facebook/jest/packages/jest-haste-map

以上是关于node.js 中的 Haste 模块映射是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Haste模块映射中不存在模块`@babel / runtime / helpers / interopRequireDefault`

从 Node.js 中的模块导出函数的语法是啥?

node.js中的+new Date语法是啥[重复]

错误:jest-haste-map:Haste 模块命名冲突:

处理 node.js 私有模块依赖项的推荐方法是啥?

Haste 模块命名冲突:将本机应用程序与 AWS 服务反应(放大项目)