alibaba / BizCharts

Powerful data visualization library based on G2 and React.
http://bizcharts.net/products/bizCharts
6.16k stars 671 forks source link

package.json field `browser` problem #1531

Open songhn233 opened 1 year ago

songhn233 commented 1 year ago

BizCharts Version: latest Platform: mac

这个问题之前也有人提过 https://github.com/alibaba/BizCharts/issues/642, 应该是在 https://github.com/alibaba/BizCharts/issues/327 这个 issue 被引入的

webpack 等构建工具在打包时候会优先使用 browser 字段 (参考 https://github.com/SunshowerC/blog/issues/8#browser-vs-module-vs-main)

导致最后产物产生了一个巨大的 umd 依赖

image

https://github.com/alibaba/BizCharts/issues/642 中应该是同时用到了 import 和 dynamic import, 以为这个 vendor 没有被使用到, 其实还是用到了的, 这里需要修改, browser 指定 es 产物我理解应该是没有问题的, 最早引入因为 uglify 失效, 原因是

由于依赖的gl-matrix包同样没有browser入口文件,所以bizcharts的module入口的文件实际是es6的,最中在业务代码打包的时候uglify会报错

这个问题应该由 babel 做一层转化, 或者替换 uglify 用支持 es6 的压缩方案吧, 直接把 browser 指定 umd 会导致产物全量被打包