@antv/g6@5低版本浏览器兼容性问题

一、背景

我们的项目是比较旧的使用CRA创建的。 客户浏览器的版本是 sogou_explorer-v11.0.0.33862,在g6 v5版本中@antv/layout使用了ml-matrix这个库,其中包含

一个是私有属性#,一个是&&=运算符。

二、过程

1、通过@babel/preset-env预设配合插件的方式(失败了):

js 复制代码
{
  "presets": [
    "react-app",
    [
      "@babel/preset-env",
      {
        "targets": {
          "browsers": ["> 0.5%", "not dead", "chrome >= 49", "not ie 11"]
        },
        "useBuiltIns": "usage",
        "corejs": 3
      }
    ]
  ],
  "plugins": [
    ["@babel/plugin-transform-private-methods", { "loose": true }],
    ["@babel/plugin-transform-private-property-in-object", { "loose": true }],
    ["@babel/plugin-transform-class-properties", { "loose": true }],
    ["@babel/plugin-transform-logical-assignment-operators", { "loose": true }]
  ]
}

2、直接根据报错内容找到node_modules中的源码文件进行修改,在通过 patch-package生成补丁

1、修改源码

2、生成补丁

安装npm i -D patch-package

执行npx patch-package ml-matrix

配置package.json

js 复制代码
"scripts": {
  "postinstall": "patch-package"
}
相关推荐
太过平凡的小蚂蚁2 小时前
Kotlin 协程中常见的异步返回与控制方式(速览)
开发语言·前端·kotlin
咖啡の猫2 小时前
Vue初始化脚手架
前端·javascript·vue.js
晨枫阳3 小时前
uniapp兼容问题处理总结
前端·vue.js·uni-app
liusheng4 小时前
腾讯地图 SDK 接入到 uniapp 的多端解决方案
前端·uni-app
拉不动的猪4 小时前
如何处理管理系统中(Vue PC + uni-app 移动端):业务逻辑复用基本方案
前端·javascript·架构
边洛洛4 小时前
next.js项目部署流程
开发语言·前端·javascript
Zsnoin能4 小时前
浏览器连接 新北洋BTP-P33/P32蓝牙打印机,打印 二维码
前端
非凡ghost4 小时前
Syncovery Premium(文件同步软件)
前端·javascript·后端
trsoliu4 小时前
2025前端AI Coding产品与实战案例大盘点
前端·ai编程
云中雾丽4 小时前
react-checkbox的封装
前端