Как решить проблему с отсутствующими внешними библиотеками из сборки Webpack UMD?Консоль Chrome показывает определенную переменную, в то время как код разрывается с неопределенной переменной - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь создать повторно используемую библиотеку d3, собирая код с помощью Babel 7, а затем связывая файл JS с Webpack с выводом UMD.В Webpack config d3 устанавливается как внешняя библиотека:

externals: {
  d3: 'd3',
  ...

В простом HTML-файле я загружаю d3, react и react-dom с тегами <script>, и все загружается нормально.У меня нет ошибок внутри моей библиотеки на оболочке React, но при вызове любой функции d3 говорится, что это undefined.С точкой останова на этой строке кода, работающей на консоли Chrome, код d3.min(data) возвращает -46, то же самое, что вызывать его за пределами моей библиотеки, но когда я запускаю строку кода, я получаю ошибку:

processDataset.js:8 Uncaught TypeError: Cannot read property 'min' of undefined
    at processDataset (processDataset.js:8)
    at VizService.setData (VizService.js:14)
    at new VizService (VizService.js:8)
    at new MiniVisual (MiniVisual.js:24)
    at color-coded-bar.html:26

Я попытался установить window.d3 = d3;, загружая разные версии d3, но ничего не изменилось.Как консоль Chrome devtools не может дать правильный вывод?Что мне здесь не хватает?Может быть, проблема скрывается в исходном сопоставлении, выполненном Chrome, как я могу отключить его и выполнить правильную отладку?

Оригинал processDataset.js:

import d3 from 'd3';

function processDataset(data, { scale = 'linear', range }) {
  const dataMin = d3.min(data);
  // Rest of the code...
}

export default processDataset;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...