reactjs - 使用 webpack 发布 NPM 模块(React 组件)时如何正确使用 PeerDependency?并与 npm 链接一起使用?

标签 reactjs npm dependencies webpack

我想发布依赖于 react模块。我想在我的 app 项目中使用这个模块,该项目也依赖于 React。我有以下 webpack 模块配置:

module.exports = {
  //......
  externals: {
    'react': 'react'
  },
  output: {
    library: 'my-module',
    libraryTarget: 'umd'
  },
  resolve: {
    extensions: ['', '.js'],
    fallback: [path.join(__dirname, 'node_modules')]
  },
  resolveLoader: {
    fallback: [path.join(__dirname, 'node_modules')]
  }
};

package.json 既作为依赖项又作为对等依赖项作出 react ,并以 lib/index.js 作为入口点,因此我将库构建到 lib/index.js。

然后,我从模块目录运行 npm link ,并从 app 目录运行 npm link my-module 。然而,它最终仍然会加载两个不同版本的 React,从而导致问题。如何使我的模块使用与应用程序相同的 react ?

我阅读了有关peerDepencies 和 npm 链接的链接:https://webpack.github.io/docs/troubleshooting.html#npm-linked-modules-doesn-t-find-their-dependencies

但正如您所看到的,我已将后备添加到配置中(不清楚哪个存储库,所以我将其添加到两个存储库中)。我在这里做错了什么?

最佳答案

我的错误是忘记在安装时构建库的模块中添加“预发布”脚本。

关于reactjs - 使用 webpack 发布 NPM 模块(React 组件)时如何正确使用 PeerDependency?并与 npm 链接一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533099/

相关文章:

html - 图像显示大于 CSS 中设置的尺寸

javascript - 将所有依赖项发布到本地 npm 注册表

maven - 依赖管理中的依赖与 Maven 版本插件中的依赖

go: 如何定义依赖关系?

javascript - ReactJS中的提升函数

javascript - React js Stripe结帐不起作用

reactjs - 如何使用 Material UI v4 选择包含在 ForwardRef 中的组件?

node.js - 在 Bamboo 上持续集成和部署 Node.js 应用程序

node.js - npm install everything 失败并显示 ECONNRESET

android - 添加用于特定任务的新依赖配置