Bundling and Minification

دو تکنیکی هستند که در ASP.NET 4.5 میتوانید از آنها جهت بهبود زمان بارگذاری در وب سایت استفاده نمایید. این دو تکنیک باعث کاهش تعداد درخواست ها به سرور و همچنین کاهش حجم فایل ها (مانند CSS و JavaScript) میگردد.

Minification

باعث حذف کامنت ها و دستورات بلا استفاده میگردد، که در نتیجه باعث کاهش حجم فایل شده. (تأثیری در نتیجه اجرای برنامه نخواهد داشت)



زمانی که یک درخواست به یک سرور ارسال میکنید، مثلا صفحه اول سایتتان را میخواهید مشاهده کنید، اگر F12 بزنید و به قسمت Network بروید تعداد درخواست ها و فایلهایی که از سرور ارسال شده است را مشاهده می نمایید.
گاهی تعداد این فایل ها میتواند خیلی زیاد باشد مثلا چندین فایل js و یا چندین فایل css وجود دارد. از طرفی در اکثر مرورگر ها برای تعداد درخواست های همزمان یک سقف مشخصی وجود دارد مثلا 6 درخواست همزمان ارسال میشود مابقی در صف قرار میگیرند. حالا در نظر بگیرید اگر بتوان با یک درخواست تمام فایل های js را لود کرد میتوان سرعت نمایش سایت و بارگذاری صفحات را بهبود بخشید.
برای این کار نیاز به نصب بسته Nuget زیر دارید:
Install-Package Microsoft.AspNet.Web.Optimization
سپس در فولدر app_start یک کلاس با نام BundleConfig.cs اضافه کنید. به عنوان مثال من برخی کلاسهای js را اضافه کردم
using System.Web.Optimization;
 
namespace WebApplication2.App_Start
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-3.1.1.js",
                        "~/Scripts/bootstrap.js",
                        "~/Scripts/bootstrap.min.js",
                        "~/Scripts/jquery-3.1.1.slim.js"
                        ));
 
            BundleTable.EnableOptimizations = true;
        }
    }
}
سپس در View مورد نظر بجای اینکه تک تک این فایل های js را لود کنید از دستور زیر استفاده نمایید:
@Scripts.Render("~/bundles/jquery")