d3.event является нулевым в сборке веб-пакета - PullRequest
0 голосов
/ 28 мая 2018

У меня есть работающая система 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.js';

Все строит и работает нормально (импортов намного больше, чем показано выше)за исключением запроса события, например, о событии перетаскивания.

onDrag = () => {
    const targetY = d3.event.y;

Сбой при

TypeError: _d3Import2.default.event равен null

Я пытался использовать другое имя для события, когда читал предложение здесь

import { select, event as currentEvent } from 'd3-selection';

... но без изменений.Раньше все это работало с

import * as d3 from 'd3;

Но это, казалось, означало дополнительные 100k или около того в bundle.js.Любая помощь приветствуется!

1 Ответ

0 голосов
/ 28 мая 2018

благодаря комментарию Терри, у меня есть решение от здесь :

onDrag = () => {
   d3.getEvent = () => require("d3-selection").event;
   const targetY = d3.getEvent().y;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...