我们的主项目使用了一个自制的组件库,该组件库使用了peerDependency(react-hook-form)。 主项目也使用react-hook-form作为依赖。
查看 JS 调试器时,主要组件的“react-hook-form”导入是这样解析的: “./node_modules/react-hook-form/dist/index.esm.mjs”
但是对于来自外部库的组件来说是这样的: “./node_modules/react-hook-form/dist/index.cjs.js”
由于它们不匹配,因此无法从组件库中使用主项目中创建的上下文,它始终返回 null。
我们尝试将“react-hook-form”定义为peerDependency和webpack-configs中的外部,但似乎没有任何效果。
任何想法都会受到欢迎。
我们找到了解决方案。组件库实际上是用commonJS构建的,而主项目是用esModules构建的。
我们必须做两件事: