@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"
}
相关推荐
求梦8205 分钟前
前端八股文【CSS核心面试题库】
前端·css·面试
算法小菜鸟成长心得5 分钟前
记录自己第一次将React 编写的前端部署到服务器,实现外网访问
服务器·前端·react.js
怒放的生命19911 小时前
pnpm + Monorepo 使用教程(集成 Vue 3 项目)
前端·vue.js·pnpm·monorepo·前端工程化
佛系打工仔6 小时前
绘制K线第二章:背景网格绘制
android·前端·架构
明天好,会的8 小时前
分形生成实验(五):人机协同破局--30万token揭示Actix-web状态管理的微妙边界
运维·服务器·前端
C_心欲无痕8 小时前
nginx - alias 和 root 的区别详解
运维·前端·nginx
我是苏苏10 小时前
Web开发:C#通过ProcessStartInfo动态调用执行Python脚本
java·服务器·前端
无羡仙11 小时前
Vue插槽
前端·vue.js
用户63879947730511 小时前
每组件(Per-Component)与集中式(Centralized)i18n
前端·javascript