Работая с 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
. Нет ли способа накопительного импорта импортировать эту библиотеку для меня? Я не смог найти подходящий вариант для этого.