Javascript: это пакет. json зависимость включена в сборку, если она нигде не импортирована? - PullRequest
0 голосов
/ 27 апреля 2020

В проекте есть пакет зависимостей (npm install [some-name] --save), указанный в файле package. json, но не импортированный ни в один из моих файлов модуля ES6 в исходном коде. Будет ли этот пакет включен в окончательную сборку (например, выходной пакет)?

Насколько я понимаю, не импортированный модуль es6 даже не может дать никаких побочных эффектов, поэтому у компоновщика (например, rollup, webpack) его нет в графе зависимостей. И из-за этого, упаковщик даже не знает о его существовании. Итак, если я прав, такой пакет не входит в комплект. Но, в таком случае, в чем причина разделения "зависимостей" и "dev-зависимостей" в пакете. json, для проектов, которые используют любой упаковщик, если сборщик решает со своими собственными логами c (когда это следует "import / export "операторов) что включить в вывод?

1 Ответ

0 голосов
/ 27 апреля 2020

Я думаю, что вы правы, упаковщик не будет включать его в пакет. Код - это мертвый код, который должен быть удален.

Но я думаю (поправьте меня, если я ошибаюсь), что когда ваши потребители библиотеки делают npm install, им придется загрузить все внутри package.json разрешить его зависимости. По крайней мере, это мои рассуждения.

...