请教一个 vue2 浏览器兼容问题

2023-05-09 10:43:23 +08:00
 YongAiFaDian

小弟目前使用的版本是 vue 2 + webpack 4 (比较落后的一个配置方案)

现在遇到了一个问题: 当 "browserslist": [ "> 1%", "last 2 versions" ] 时,引入的一个包会发生报错

当设置为

"browserslist": [ "defaults and supports es6-module", "maintained node versions" ],

时,报错解决,但是 asyn.queue 等等的 callback 没了,看官方文档说可以不需要,但是我们的业务系统使用了大量的 callback ,所以改起来很麻烦。 求问大神如何做到兼容方案

1470 次点击
所在节点    Vue.js
3 条回复
karott7
2023-05-09 17:32:38 +08:00
给的信息不够多
1. 先把 “当 "browserslist": [ "> 1%", "last 2 versions" ] 时,引入的一个包会发生报错” 的报错贴一下
2. 你这是个 node 项目吧,asyn.queue 是不是打错了?是 async.queue ? 看了下当前 lts node 版本没搜到 async.queue
YongAiFaDian
2023-05-09 17:49:29 +08:00
@karott7
1 的错误是:
TypeError: Cannot convert a BigInt value to a number
at Math.pow (<anonymous>)
at SWUFpSqrtRatio (weierstrass.ts:1097:1)
at mapToCurveSimpleSWU (weierstrass.ts:1166:1)
at eval (secp256k1.ts:249:1)
at ./node_modules/_@noble_curves@1.0.0@@noble/curves/secp256k1.js (chunk-vendors.js:15341:1)
at __webpack_require__ (app.js:854:30)

2.对 是 async.queue mapLimit 等
karott7
2023-05-11 11:40:16 +08:00
@YongAiFaDian
1. 第一个问题看报错是 Math.pow 方法混用了 BigInt 类型和 number 类型,参考 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cant_convert_BigInt_to_number , 改成同类型应该就能解决了
2. 搜了下,官方没有 async.queue 方法,然后在 npm 里搜到了 async 包,你可以下载试试,有 async.queue 和 async. mapLimit 方法,你的项目应该是用了这个包

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/938517

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX