@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"
}
相关推荐
jingling55511 分钟前
Git 常用命令指南:从入门到高效开发
前端·javascript·git·前端框架
索西引擎13 分钟前
【前端】网站favicon图标制作
前端
程序员海军20 分钟前
告别低质量Prompt!:字节跳动PromptPilot深度测评
前端·后端·aigc
华洛21 分钟前
关于可以控制大模型提升任意产品的排名这件事📈
前端·github·产品经理
Yanc22 分钟前
翻了vue源码 终于解决了这个在SFC中使用tsx的bug
前端·vue.js
nujnewnehc26 分钟前
失业落伍前端, 尝试了一个月 ai 协助编程的真实感受
前端·ai编程·github copilot
大熊学员29 分钟前
HTML 媒体元素概述
前端·html·媒体
好好好明天会更好31 分钟前
那些关于$event在vue中不得不说的事
前端·vue.js
默默地离开40 分钟前
CSS定位全解析:从static到sticky的5种position属性详解(第五回)
前端·css
JosieBook42 分钟前
【web应用】前后端分离项目基本框架组成:Vue + Spring Boot 最佳实践指南
前端·vue.js·spring boot