您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

react重新下载依赖报错:‘Link‘ cannot be used as a JSX component.

报错原因:

启动老项目,执行reinstall成功之后(reinstall为项目自配置脚本:)在这里插入图片描述
项目可运行,但代码类型校验没通过,报错如下:
在这里插入图片描述
f12查看定义类型的位置,从而定位到错误 是@types/react中类型报错,然后查看package.json中版本号为18.0.6:
在这里插入图片描述
npm中查看这个包文件,18.0.6为最新刚发版的,大胆猜测一波,因为没固定版本号 在重新install的时候安装了最新版本,从而导致项目中跟最新版本的东西有些对不上,所以报错了。
于是 在大胆解决一波,在package.json里面的dependence里面固定大范围版本号,再重新reinstall,问题解决。
之前有同事将其放在了里面,但是并没有解决这个问题。

devdependence & dependence 二者区别

对于业务代码而讲,它俩区别不大;

当进行业务开发时,严格区分 dependencies 与 devDependencies 并无必要,实际上,大部分业务对二者也并无严格区别。

当打包时,依靠的是 Webpack/Rollup 对代码进行模块依赖分析,与该模块是否在 dep/devDep 并无关系,只要在
node_modules 上能够找到该 Package 即可。

以至于在 CI 中 npm i --production 可加快包安装速度也无必要,因为在 CI 中仍需要 lint、test、build等

对于库 (Package) 开发而言,是有严格区分的;

dependencies: 在生产环境中使用 ;

devDependencies: 在开发环境中使用;
如:
webpack/babel/eslint 等 当在项目中安装一个依赖的 Package 时,该依赖的 dependencies
也会安装到项目中,即被下载到 node_modules 目录中。但是 devDependencies 不会

因此当我们开发 Package 时,需要注意到我们所引用的 dependencies 会被我们的使用者一并下载,而 devDependencies 不会。


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进