🔥

Тред (Влад Шилов)


Также, если избегать вещей, которые плохо минифицируются, требуют полифиллов или трансформация кода, то можно заметно снизить вес вашей библиотеки после сборки. Примеры: 👇

Лучше использовать функции вместо классов. Функциям не нужна трансформация и, к тому же, в отличие от классов, они хорошо минифицируются. Избавившись от классов целиком может получится сделать итоговый минифицированный код в 2 раза легче.
notion image
notion image

Используйте обычные Promise, вместо async/await и генераторов. Хоть исходный код с async/await или yield и занимает меньше строк кода, но после трансформации эти участки кода будут весить во много раза больше, чем аналогичный код на промисах.
notion image

Такая же история со spread-оператором. Используете его один раз и бандл сразу значительно "потяжелеет".
notion image

Нужно быть аккуратнее с различными "новыми" методами встроенных классов. Пример: ваш бандлер работает с полифилами core-js, вы настроили проект на поддержу Edge 12, но использовали в коде Array.includes. Из-за этого в бандл попадет полифилл es.array.includes.
notion image
notion image