首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在react本机中使用对等依赖项

无法在react本机中使用对等依赖项
EN

Stack Overflow用户
提问于 2020-04-27 20:41:37
回答 1查看 714关注 0票数 1

我有一个react原生应用程序,其中我使用了"json-schema-rules“库。现在我还创建了一个在我的react原生应用程序中使用的库,比如package.json中的"file:../custom_ library“。

现在为了解决版本冲突,我决定在我的自定义库中使用"json-schema-rules“作为对等依赖项。因此,package.json是这样的

我的react原生应用的Package.json:{ "dependencies": { "json-rules-engine": "^2.3.0", "custom_library": "file:../custom_library" } }

my custom_library的package.json:{ "peerDependencies": { "json-schema-rules": "^2.3.0" } }

现在的问题是,每当我使用metro bundler时,我都会得到一个错误: bundling failed: Error: Unable to resolve module json-rules-engine -rules-engine be not be be the project。

这就是我在peerDependencies中使用它时的情况,如果我在依赖中使用这个库,我不会得到任何错误。

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2020-04-29 13:22:45

您可以尝试在项目的babel配置中为模块添加别名。

这意味着当您的自定义包尝试导入"json-rules-engine“时,它将从主应用程序中获得该版本。

首先安装'babel-plugin-module-resolver‘,然后在"module-resolver“中配置别名。

babel.config.js

代码语言:javascript
复制
const config = {
  presets: ["module:metro-react-native-babel-preset"],
  plugins: [
    [
      "module-resolver",
      {
        root: ["./src"],
        extensions: [".js", ".jsx", ".ios.js", ".android.js"], 
        alias: {
          "json-rules-engine": require.resolve("json-rules-engine") 
        }
      }
    ]
  ]
};
module.exports = config;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61459162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档