Bundle nedir sorusu ile başlayacak olursak; gerek kullanıcılarımızın sitemizi daha hızlı açabilmeleri, gerek bant genişliğini daha efektif kullanabilmek gerekse arama motorları tarafından indekslenirken daha yukarılarda çıkmak için web sitemizde kullandığımız statik stil ve javascript dosyalarını bir araya getirerek tek bir dosya gibi açılmalarını sağlamaya bundle etmek diyoruz.

Asp.net uygulamalarında bundle işleminin nasıl yapıldığına geçecek olursak;
İlk olarak Global.asax dosyamızın Application_Start metodunda BundleConfig ayarımızın register edildiğinden emin oluyoruz.

protected void Application_Start()
{
Starter.Start();
AreaRegistration.RegisterAllAreas();

WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}


Daha sonra App_Start dizini altındaki BundleConfig.cs dosyamızda css ve js dosyalarımızı grupluyoruz.
Not: gruplama yaparken verdiğiniz sanal dosya konumunun fiziksel olarak karşılığı olmadığına emin olunuz

public static void RegisterBundles(BundleCollection bundles)
{
//BundleTable.EnableOptimizations = true;
//content/css dizininin gerçekten var olmadığına dikkat ediniz
bundles.Add(new StyleBundle("~/content/css").Include(
"~/assets/css/bootstrap.css",

"~/assets/css/style.css"));
//content/jsdizininin gerçekten var olmadığına dikkat ediniz
bundles.Add(new StyleBundle("~/content/js").Include(
"~/assets/js/jquery-1.8.3.min.js",
"~/assets/js/bootstrap.min.js",
"~/assets/js/scripts-min.js"));

BundleTable.EnableOptimizations = true; //dosyalarımızı bir arada toplamanın yanında dosyalardaki fazlalıkların da çıkartılarak minimize edilmesini sağlıyoruz.
}


Bu aşamadan sonra layout.cshtml dosyamızda belirlediğimiz sanal lokasyonlar üzerinden bundle dosyalarımızı render ediyoruz.



<head

@Styles.Render("~/content/css")

@Scripts.Render("~/content/js")
</head>


Tüm bu işlemleri yaptıktan sonra web.config dosyasında sitenizin debug modda çalışmadığına emin olunuz.

<system.web>

<compilation targetFramework="4.5" debug="false"/>
<system.web>

Yorumlar

Bu kod parçacığına henüz yorum yapılmamış.

Yorum Yaz

Yorum yazabilmek için üye olunuz veya giriş yapınız