杂记-记一次前端打包问题解决过程

背景

若干年没更新发布的前端项目,突然来了个小需求,需求完成耗时5min,打包问题解决2小时

问题

error commander@12.0.0: The engine “node” is incompatible with this module. Expected version “>=18”. Got “10.22.1”

这个错误表明你当前安装的 Node.js 版本与你的项目中指定的 Node.js 版本不兼容。Yarn 是一个 Node.js 包管理器,它需要与当前项目兼容的 Node.js 版本来运行。

临时解决方案:yarn config set ignore-engines true修改yarn配置
长期解决方案:升级修改项目框架

Error: error:0308010C:digital envelope routines::unsupported

主要是因为 Node.js V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,Node.js v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v20.9.0

解决方案:

  • 方案1:修改NODE_OPTIONS
# Linux & Mac OS
export NODE_OPTIONS=--openssl-legacy-provider

# Windows
set NODE_OPTIONS=--openssl-legacy-provider
  • 方案2:安装合适的版本(node.js)

    该方案未验证

TypeError: Cannot set properties of undefined (setting ‘parent’)

原因:Vue2.x 升级到 2.7 版本新功能,支持 Vue3 中 Composition API,可能会导致之前正常编译的项目出现类型错误:TypeError,具体原因没有深入研究,最直接的解决办法就是锁定 Vue2 版本

{
  "dependencies": {
    "vue": "2.6.14"
  },
  "devDependencies": {
    "vue-template-compiler": "2.6.14"
  }
}

长期解决方案建议更新修改项目框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值