d3.js错误Cannot read property ‘button’ of null

该文章由 leevare 发布于 ,归类于 Javascript

在d3的官方文档上有这么一段话

如果你使用 Babel, Webpack 或者其他的 ES6 转 ES5 的打包工具,要注意 d3.event 的值在事件中的变化!导入的 d3.event 必须是 live binding(动态绑定) 的,因此你需要将打包配置设置为引入 D3 的 ES6 模块而不是生成的 UMD;并不是所有的打包工具都识别 jsnext:main。也要注意与 window.event 的冲突。

文档地址:https://d3js.org.cn/api/d3-selection/#handling-events

所以,在使用babel+webpack时,用import * as d3 from 'd3'这种方式是不行的,获取到的d3.eventnull,所以就出现了上述错误。

借助于webpack,可以将d3添加到全局,即可解决这个问题。

plugins: [
  new webpack.ProvidePlugin({
    'd3': 'd3'
  })
]

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒