使您的 NPM 包支持多个版本的对等依赖

Kun*_*nok 8 javascript dependencies npm

我在 NPM 上有一个包,它使用 React 版本 15 作为对等依赖项。但是,我希望它停止向升级其 React 版本的用户发出警告。如何使包同时支持版本 15 和 16?

"peerDependencies": {
    "react-dom": "^15.0.0"
  },
Run Code Online (Sandbox Code Playgroud)

处理这些问题最方便的方法是什么?

是否"*15.0.0"足够好?

tdh*_*ter 25

要寻址范围,您可以使用以下符号:

"peerDependencies": {
    "react-dom": "15 - 16"
}
Run Code Online (Sandbox Code Playgroud)

定义范围也变得非常容易。

您可以在这里测试它们: https: //semver.npmjs.com/


And*_*aro 16

关于什么:

"peerDependencies": {
  "react": "^15.0.0 || ^16.0.0",
  "react-dom": "^15.0.0 || ^16.0.0"
}
Run Code Online (Sandbox Code Playgroud)


Kun*_*nok 12

刚刚在 GitHub 上查看了一些其他包,他们是如何做到的。

使用*对我来说没有效果,因此无论如何似乎都是不好的做法。

更好的解决方案:

  "peerDependencies": {
    "react": ">=0.14.0 <= 16",
    "react-dom": ">=0.14.0 <= 16"
  }
Run Code Online (Sandbox Code Playgroud)