Да, это правда.Это делается с помощью статического анализа именованных импортов в модулях es.
Инструмент собирается статически анализировать импорт и просто копировать из источника те, которые вы указали.Если бы он выполнялся по всему вашему коду, определите все функции, которые вы вызывали из этого файла, вернитесь назад, удалите те, которые не используются, это будет дорогостоящим и займет гораздо больше времени.
, еслиу вас есть:
import {a} from 'filea'
, но у вас есть
export const a = 'a';
export const b = 'b';
Пакет / инструмент может перейти к вашему файлу, см .:
"О, один импортированный просто a
из filea
, позвольте мне вытащить только его."
https://webpack.js.org/guides/tree-shaking/
https://medium.com/webpack/better-tree-shaking-with-deep-scope-analysis-a0b788c0ce77
https://medium.com/@zwegrzyniak/webpack-4-1-and-es-modules-esm-dd0bd7dca4da