大数解决方案
服务器返回来的值超出了 JavaScript 中最大的 Number 数值,会导致 JS 无法正确的进行数字的处理和运算
解决方案:json-bigint(https://www.npmjs.com/package/json-bigint)
-
下载json-bigint包
yarn add json-bigint
-
在request.js中使用,对后台的数据,不要让axios自动转成JS对象,需要用json-bigint转换
import bigInt from 'json-bigint' const ajax = axios.create({ baseURL:'请求的基础路径', transformResponse:[(data) => { // 对内容进行处理 // data:就是本次请求获取的数据 // 在这里可以对它进行进一步的处理 --JSONbig // 后端返回数据可能不是 JSON 字符串,而JSONbig.parse()只能处理JSON字符串 // 所以,为了保证代码可以正常执行,这里引入try-catch来捕获异常 try { // 尝试着进行大数的处理 return bigInt.parse(data) } catch { // 大数处理失败时的后备方案 return JSON.parse(data) } }] })