ツリーシェーキングは、使用されていないコードを除去することでバンドルサイズを小さくする技術です。
https://qiita.com/soarflat/items/755bbbcd6eb81bd128c4
なぜ必要なのか?
そうすることで不要なコードをバンドルされるのを防げるので、ファイルサイズが増加するのを防げる。
ウェブパックではES6のimport/export構文を利用
Productionモードで実行することでTree sahkingされる。
import/export構文で記述をする必要があるため、exportsでモジュールをエクスポートしても Tree Shaking されない
Discussion