首页 > 其他分享 >react,webpack,antd的版本依赖关系

react,webpack,antd的版本依赖关系

时间:2023-01-24 23:45:09浏览次数:43  
标签:... react webpack types 版本 antd 16.9

调试react导航栏的时发现,

react

webpack

antd

这三个基础框架之间隐含这版本兼容性关系。

也就是说,这几个框架的版本必须协调适应。如果不匹配对应的版本,就会出现各种各样的报错问题,比如导航栏样式问题,比如启动报错问题等等。

 

尝试了两种版本组合如下

 

组件 react webpack antd
版本组合1 16.13.1 4.42.0 4.6.1
版本组合2 18.2.0 5.64.4 5.1.6

 

仔细看了一下antd 4.6.1和5.1.6版本的源码,发现里面确实隐含指定了某种react版本

例如

antd-4.6.1的package中含有如下内容:

  "devDependencies": {
     ...
    "@types/react": "^16.9.21",
    "@types/react-color": "^3.0.1",
    "@types/react-copy-to-clipboard": "^4.3.0",
    "@types/react-dom": "^16.9.5",
     ...
    "react": "^16.9.0",
     ...
  },
  "peerDependencies": {
    "react": ">=16.9.0",
    "react-dom": ">=16.9.0"
  },

antd-4.6.1虽然 peerDependencies部分要求版本react的版本>=16.9.0,但其实devDependencies部分明确要求react版本16.9.0以上了。

再看另一个版本

antd-5.1.6的package中含有如下内容:

 "devDependencies": {
     ...
    "@types/react": "^18.0.0",
    "@types/react-color": "^3.0.1",
    "@types/react-copy-to-clipboard": "^5.0.0",
    "@types/react-dom": "^18.0.0",
    "@types/react-highlight-words": "^0.16.4",
    "@types/react-resizable": "^3.0.0",
    "@types/react-window": "^1.8.2",
     ...
    "react": "^18.0.0",
     ...
  },
  "peerDependencies": {
    "react": ">=16.9.0",
    "react-dom": ">=16.9.0"
  },

antd-5.1.6虽然 peerDependencies部分要求版本react的版本>=16.9.0,但其实devDependencies部分明确要求react版本18.0.0以上了。

 

这足以说明,蚂蚁金服的antv研发团队,发布antd的时候,是基于某些react和webpack的版本范围进行调试后才发布antd的版本的。

这绝对有版本依赖隐含关系。

那些学习和使用antd的项目必须注意这个问题,否则就会有一些很奇怪的问题,或者一堆的调试报错问题。

 

标签:...,react,webpack,types,版本,antd,16.9
From: https://www.cnblogs.com/geektcp/p/17066536.html

相关文章