【问题标题】:Error: Unable to resolve module, could not be found within the project错误:无法解析模块,在项目中找不到
【发布时间】:2020-12-27 21:34:18
【问题描述】:

我一直在尝试在 React Native 应用中包含一个 React 原生库(Local Library)。

所以我安装它使用

npm 安装库路径

然后我跑

npm 链接库名称

我可以在 mainProject 的 node_modules 中看到包。另外,在 package.json 中,我可以看到依赖项:

"dependencies": {
    "react": "16.13.1",
    "react-native": "0.63.2",
    "react-native-first-library": "file:../react-native-first-library",
    "react-native-toast-message": "^1.3.3",
    "react-native-webview": "^10.8.3"
  },

react-native-first-library 是我的反应模块。

我已经完成了

  1. 清空守望者手表:watchman watch-del-all
  2. 删除 node_modules:rm -rf node_modules 并运行 yarn install
  3. 重置 Metro 的缓存:yarn start --reset-cache
  4. 删除缓存:rm -rf /tmp/metro-*

但是,它仍然无法正常工作。我不知道为什么这些事情这么复杂。

【问题讨论】:

  • 如果你删除这个给定的库,它可以工作吗?你能提供更多关于那个的信息吗?另外,请确保在重新安装 node_modules 之前删除了 yarn.lock 文件或 package-lock.json。
  • 我只是将“创建的本地库”复制粘贴到“node_modules”中并且它工作。很久之后我才明白。谢谢大卫。但是,还有另一个问题,如果您能提供帮助,我想创建一个 react native 库,该库将具有 webview,并且必须从 react native 应用程序传递某些参数,例如 url 和其他一些数据,并将回调返回给项目。如果你知道这样做的方法。请告诉我。到目前为止,我已经制作了一个组件并在应用程序中渲染它。
  • 这篇文章可能会回答这个问题(但我不确定这是提出另一个话题的好地方):stackoverflow.com/questions/62902660/…

标签: react-native react-native-android


【解决方案1】:

只做一件事

1)。复制本地库文件夹并粘贴到 react native 项目的 node_modules 中..

示例 =>

我有一个库说 react-native-test

=> 在 react native 项目中安装后,我可以看到 package.json 文件添加了一个依赖项,例如 "react-native-test": "file:../react-native-test",

但是当我运行项目时出现错误,显示无法解析模块

=> 只需复制 react-native-test 文件夹并将其粘贴到 react native 项目的 node_modules 文件夹中,然后再次执行 npm install

【讨论】:

    【解决方案2】:

    我必须集成一次自定义库。我刚刚在根级别 customLibs 创建了一个文件夹,并将我的库的文件夹放入其中。然后在 package.json 中我指定了"myLib": "file:./customLibs/myLib"

    我不确定,但在你的 package.json 中,路径不应该是 file:../react-native-first-library 有两个点,但肯定有一个点。

    最后只是yarnnpm i

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 2017-12-28
      • 2019-04-12
      • 2020-12-15
      • 2017-12-29
      相关资源
      最近更新 更多