Возможен ли корректный treeshaking с vue-cli-service?

Доброй ночи.
Есть небольшой пакет утилит, импорт из него.
import { formateDate, fromNow } from '@vendor/utils/date'

В пакете всего 3 функции. Присутствует также функция fromTo, которая в проекте не используется.

Webpack из-под vue-cli-service собирает проект, создает чанки, в число которых входит и chunk-vendors.js, который содержит как раз таки нужные импорты от вендоров. Проблема в следующем: несмотря на то, что в проекте нет импорта fromTo из '@vendor/utils/date', в chunk-vendors.js эта функция все равно есть.

Такая же ситуация со всеми остальными сторонними пакетами. Это приводит к раздуванию размеров бандла даже несмотря на то, что он multipage, за счет включения в него функций и методов, которые фактически нигде не используются и никогда не будут вызваны.

Как бороться? Есть ли способы? Как я понимаю, treeshaking не работает \ не настроен?
Заранее спасибо.
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Значит функция fromTo используется где-то еще в импортированных функциях. Если есть какая-то зависимость в твоем коде, или в импортируемом, то функция будет включена. Иначе же все сломается.

Более того, утилита должна быть построена на ES2015 импортах и экспортах, если же там стоит какой-то module.exports, то подключится все, так как этот тупо объект, а fromTo его часть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YLab Тольятти
от 80 000 до 120 000 руб.
PeoplePass Москва
от 100 000 до 200 000 руб.
PeoplePass Москва
от 150 000 до 250 000 руб.