Vue2旧项目运行提示Cannot destructure property ‘script‘ of ‘result.descriptor‘ as it is undefined的解决方案

 我整理整理了依据我这边项目所归纳的一些解决信息:

关于vue2.0的旧项目运行失败时的可参考升级策略-CSDN博客

以下内容为部分情况的解决方案。

不管文章质量如何,能解决大家的问题,就是好内容,希望能帮助到大家。

出错信息关键提示:

Cannot destructure property ‘script‘ of ‘result.descriptor‘ as it is undefined

先看错误提示信息:

一般这个提示出现在项目版本为 vue@2.6.x 的项目版本中,使用 cnpm i 还原依赖的时候出现。

解决办法:(大家按实际情况参考调整,修改前请确保备份package.json)

"vue": "^2.6.11"    改为   "vue": "~2.6.11"
"vue-template-compiler": "^2.6.11"   改为   "vue-template-compiler": "~2.6.11"

经过测试发现,cnpm 安装依赖后,在 node_module 中的 vue 版本安装的是vue@2.7.x 的版本,通过某度查询相关线索后,发现关于cnpm i 还原依赖时的描述如下:

符号^:表示主版本固定的情况下,可更新最新版。例如:vue: “^2.6.11”,2.6.11 及其以上的 2.x.x 都是满足的。
符号~:表示次版本固定的情况下,可更新最新版。如:vue: “~2.6.11”,2.6.11 及其以上的 2.6.x 都是满足的。
无符号:无符号表示固定版本号,例如:vue: “2.6.11”,此时一定是安装2.6.11版本。

其中还原依赖时,x 会取当前版本下的最高版本,也正是由于此原因,才会导致旧项目中的2.6.11 的vue 被cnpm 安装为 2.7.x 或更高。

当然了,如果使用的是科学上网,使用npm 还原依赖,在存在package-lock.json 的情况下是不会出现此情况,因为package-lock.json 会针对使用的模块强制锁定版本。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疋疋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值