كلاهما يقلّل من JavaScript الذي يُنزّله المستخدمون. يقسّم تقسيم الشيفرة (code splitting) الحزمة إلى أجزاء تُحمَّل عند الطلب؛ ويزيل هزّ الشجرة (tree shaking) الشيفرة التي لا تستخدمها أبدًا. وهما متكاملان: قسّم ما يُحمَّل، وهزّ الشيفرة الميتة داخل كل جزء.
تقسيم الشيفرة
بدلًا من حزمة واحدة كبيرة، يُقسَّم التطبيق بحيث يصير كل مسار أو ميزة ثقيلة جزءًا منفصلًا لا يُجلَب إلا عند الحاجة:
= ( ());
button. = () => {
{ openEditor } = ();
();
};
