Javascript d3.event在网页包生成中为空
我有一个工作D3/React/Webpack系统,我试图通过不导入所有D3来减少构建大小。因此,我有一个d3Import.js文件,其中包含:Javascript d3.event在网页包生成中为空,javascript,d3.js,webpack,Javascript,D3.js,Webpack,我有一个工作D3/React/Webpack系统,我试图通过不导入所有D3来减少构建大小。因此,我有一个d3Import.js文件,其中包含: import { select, event } from 'd3-selection'; import { drag } from 'd3-drag'; export default { select: select, drag: drag, event: event }; 这是引用的 import d3 from '../../d3Import.
import { select, event } from 'd3-selection';
import { drag } from 'd3-drag';
export default { select: select, drag: drag, event: event };
这是引用的
import d3 from '../../d3Import.js';
除了在例如拖动事件上查询事件外,所有内容都可以正常构建和工作(导入比上面显示的要多得多)
onDrag = () => {
const targetY = d3.event.y;
这与
TypeError:\u d3Import2.default.event为null
在阅读建议时,我尝试使用不同的名称来命名事件
……但没有变化。这一切过去都与
import * as d3 from 'd3;
但这似乎意味着bundle.js中需要额外的10万左右。感谢您的帮助 多亏了特里的评论,我有了一个解决方案: 可能有帮助:谢谢,特里。我看了一眼。看起来有可能。希望它不会向拖动事件处理程序添加额外的代码-它会在构建时得到解决吗?
import * as d3 from 'd3;
onDrag = () => {
d3.getEvent = () => require("d3-selection").event;
const targetY = d3.getEvent().y;
}