Dan*_*Dan 2 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 };
Run Code Online (Sandbox Code Playgroud)
这是引用
import d3 from '../../d3Import.js';
Run Code Online (Sandbox Code Playgroud)
除了在拖动事件上查询事件外,一切都构建并运行良好(导入比上面显示的要多得多)。
onDrag = () => {
const targetY = d3.event.y;
Run Code Online (Sandbox Code Playgroud)
这失败了
类型错误:_d3Import2.default.event 为空
当我在这里阅读建议时,我尝试为事件使用不同的名称
import { select, event as currentEvent } from 'd3-selection';
Run Code Online (Sandbox Code Playgroud)
...但没有变化。这一切都曾经与
import * as d3 from 'd3;
Run Code Online (Sandbox Code Playgroud)
但这似乎意味着在 bundle.js 中增加了 100k 左右。任何帮助表示赞赏!
由于特里评论,我有一个解决方案在这里:
onDrag = () => {
d3.getEvent = () => require("d3-selection").event;
const targetY = d3.getEvent().y;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |