首页 > 解决方案 > 捆绑失败:错误:解析模块“metro/src/lib/bundle-modules/HMRClient”时

问题描述

我创建了一个名为 Metro 的新项目。当我运行它时,这个错误出现在我的 cli nodejs 上:

错误:捆绑失败:错误:解析模块metro/src/lib/bundle-modules/HMRClient时,找到了 Haste 包metro。但是在src/lib/bundle-modules/HMRClient包中找不到该模块。事实上,这些文件都不存在:

我的本机版本是0.59.8

标签: react-native

解决方案


我陷入了同样的问题,所以我所做的是:

  • 在路径中找到文件:node_modules/react-native/Libraries/Utilities/HMRClient.js
  • 换行:const MetroHMRClient = require('metro/src/lib/bundle-modules/HMRClient');
  • 至:const MetroHMRClient = require('../../../@react-native-community/cli/node_modules/metro/src/lib/bundle-modules/HMRClient');

是唯一对我有用的东西,唯一的问题是,如果您重新安装 de node_modules,您将需要再次更换该行。因为我将此脚本添加到我的 package.json 中:

"postinstall": "sed -i '' \"s#metro#../../../@react-native-community/cli/node_modules/metro#g\" ./node_modules/react-native/Libraries/Utilities/HMRClient.js"

上面的脚本负责每次新的 npm install 后的替换


推荐阅读