@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"
}
相关推荐
GIS之路1 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒3 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol4 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉4 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau4 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生4 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼4 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君879974 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter
leolee184 小时前
Redux Toolkit 实战使用指南
前端·react.js·redux
bluceli5 小时前
React Hooks最佳实践:写出优雅高效的组件代码
前端·react.js