У меня есть проект на основе Vue CLI3, в котором компонент использует D3.js. Это прекрасно работает в разработке сервера. Но когда я запускаю build
и использую результирующие файлы из папки dist, во время выполнения в браузере происходит сбой со следующим сообщением:
Uncaught TypeError: Cannot read property 'document' of undefined
at d3.js:8
at Object.6e58 (d3.js:1)
at o (bootstrap:78)
at Object.fc26 (index.js:12)
at o (bootstrap:78)
at Object.046b (plotcss.js:3)
at o (bootstrap:78)
at Object.c4e0 (core.js:18)
at o (bootstrap:78)
at Object.c17d (core.js:11)
Я нашел этот ответ, чтобы объяснить причину:
D3.js: Uncaught TypeError: Невозможно прочитать свойство 'document' из неопределенного
Здесь есть указатель на эту страницу. Как удалить глобальный "использовать строгий", добавленный babel , в котором указано
Babel 6 Поскольку Babel 6 теперь полностью поддерживает плагины, а не
добавив в черный список useStrict, вы просто не включаете плагин строгого режима.
Если вы используете пресет, который включает его, я думаю, вам придется
создай свое, включающее в себя все остальные, но не одно.
Но я не смог найти, как этого добиться в последнем потоке VUE CLI. Я попытался использовать приведенную ниже настройку в babel.config.js; но он терпит неудачу во время сборки:
blacklist: ["useStrict"],
Любые предложения о том, как это можно сделать в потоке VUE CLI?