добавить локальную библиотеку как глобальную в режиме разработки - PullRequest
0 голосов
/ 10 февраля 2020

Работая с d3. js, я импортирую только те модули, которые мне нужны, следующим образом:

import * as d3selection from "d3-selection";
import * as d3array from "d3-array";

В конце концов, я буду импортировать только те методы, которые мне нужны, для улучшения каждого модуля. встряхивание дерева.

Но в режиме разработки мне часто приходится тестировать вещи из консоли браузера, и наличие глобальной версии d3 - огромная помощь. Я не смог найти хороший способ включить глобальную переменную 'd3' только для среды разработки.

Вот мой текущий rollup.config. js после попытки использовать другие варианты:

const production = !process.env.ROLLUP_WATCH;

export default {
  input: "src/main.js",
  output: {
    file: "public/bundle.js",
    format: "iife",
    sourcemap: !production,
    external: !production && ["d3"],
    globals: !production && {
      d3: "d3"
    }
  }
};

При вызове d3 из консоли отладчика браузера я получаю ReferenceError: d3 is not defined.

Это потому, что external ожидает от меня импорта библиотеки из <script src>? Я бы предпочел, чтобы мой код был свободен от условий if process.env.ROLLUP_WATCH. Нет ли способа накопительного импорта импортировать эту библиотеку для меня? Я не смог найти подходящий вариант для этого.

...