PDA

View Full Version : سوال: bundles مه چیست؟



mehdin69
جمعه 19 مهر 1392, 21:16 عصر
سلام دوستان
کسی می تونه یه توضیح در مورد کلمه bundles در MVC بده؟
مثلاً کد زیر


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

مرسی

hakim22
شنبه 20 مهر 1392, 00:27 صبح
بعد از استفاده از این دستور CSS های شما minimize میشه و همش تبدیل به یک فایل مجازی در مسیر Conten/css میشه که در نهایت تعداد Requst ها رو کم میکنه و سرعت بالا اومدن سایت رو افزایش میده

RIG000
شنبه 20 مهر 1392, 09:00 صبح
این تو کدوم قسمت mvc هست؟

mehdin69
شنبه 20 مهر 1392, 23:38 عصر
توی فایل layout خیلی از پروژه ها دیدم

forestasphalt
دوشنبه 22 مهر 1392, 17:30 عصر
bundles در فایل های جاوا اسکریپتی نیز قابل استفاده هست

zahra6688
دوشنبه 22 مهر 1392, 22:20 عصر
bundling و minification تکنیکهایی هستند که در asp.net جهت کاهش زمان لود درخواست، استفاده می‌شوند. در یک پروژه ی mvc در فولدر App_Start در کلاس BundleConfig.cs در متد RegisterBundles می توان bundleها را تعریف نمود. به صورت زیر:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));

bundle به معنی بسته بندی کردن است و با این روش می توان چندین فایل js یا css را به صورت یک bundle در آورد و برای فایل های مورد نطر تنها با یک درخواست به سرور، آنها را لود نمود.

iman mohadesi
پنج شنبه 25 مهر 1392, 22:50 عصر
تکنیکی است برای اینکه درخواست های به سمت سرور کمتر شود ، که نتیجه ایی جز افزایش سرعت را در بر نخواهد داشت . بجای اینکه هر باربه ازای هر درخواست از کلاینت به سرور یک فایل (فایل های CSSو Scripts) از سرور به کلایت فرستاده شود همه اون ها رو مثل یک دسته (Bundels) گل خوشکل یکباره تحویل میدهد. مبارک.
اخه یکی از فاکتور های Optimization ، در سمت کلاینت این است که تعداد درخواست ها را تا آنجا که ممکن است کا هش دهیم.
لازم به ذکر است در ASP.NET 4.5 و ASP.NET MVC 4 این قابلیت گنجانده شده است که در Library زیر قرار دارد.
System.Web.Optimization :این کتابخانه Bundeling و Minification( کاهش سایز فایل های CSS و Scripts با حذف فاصله ها ، کامنت ها ، تغییر نام متغییر ها به نام های کوچکتر و ...) را به علاوه Cache Busting ( فرایندی که در صورتی که مرورگر فایل CSS یا JSیی را Cache کرده باشد در صورت به روز رسانی آن فایل ها از فایل های به روز شده استفاده میکند و فایل های Cache شده قدیمی را حذف میکند. ) را پشتیبانی می کند.

samanmari
چهارشنبه 20 فروردین 1393, 14:48 عصر
http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

saviorperi
دوشنبه 10 شهریور 1393, 18:16 عصر
دوستان من بعد اینکه فایل‌های Bootstrap رو به پروژه اضافه کردم، کد زیر رو داخل تابع RegisterBundles نوشتم :


bundles.Add(new StyleBundle("~/Content/bs").Include("~/Content/bootstrap.min.css", "~/Content/bootstrap-theme.min.css"));


بعد هم داخل فایل Layput عبارت زیر رو اضافه کردم :


@Styles.Render("~/Content/bs")


ولی وقتی پروژه رو اجرا میکنم، در صفحات سایت هیچ اثری از فایل‌های Bootstrap نیست و کلاس‌هاش روی تگ‌ها اعمال نمیشه (سورس صفحات رو بررسی کردم و هیچ اثری از stylesheet برای Bootstrap نبود).
ولی وقتی فایل‌های CSS رو به صورت دستی در داخل Viewها اضافه می‌کنم مشکل حل میشه. پس چطور باید از Bundles استفاده کرد ؟

hakim22
دوشنبه 10 شهریور 1393, 21:55 عصر
1- مطمئن شوید متد RegisterBundles را در global.asax فراخوانی کرده اید.
2- مطمئن شوید که فولدری با نام bs در زیر content ندارید.

saviorperi
دوشنبه 10 شهریور 1393, 22:15 عصر
1- مطمئن شوید متد RegisterBundles را در global.asax فراخوانی کرده اید.
2- مطمئن شوید که فولدری با نام bs در زیر content ندارید.

1- بله دوست عزیز فراخوانی شده
2- نه چنین پوشه‌ای نداریم

مسئله‌ی عجیب اینه که کد زیر رو که داریم :

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));


باعث میشه در صفحات خروجی یک کد stylesheet برای site.css (http://barnamenevis.org/view-source:http://localhost:50430/Content/site.css) داشته باشیم، و من اومدن این کد رو به صورت زیر تغییر دادم :

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css", "~/Content/bootstrap.min.css", "~/Content/bootstrap-theme.min.css"));


ولی باز فقط site.css (http://barnamenevis.org/view-source:http://localhost:50430/Content/site.css) به صفحات خروجی اضاف شده بود ! گفتم شاید باهم ترکیب شدن ولی وقتی از کلاس‌های Bootstrap استفاده کردم دیدم نه خبری نیست.

واقعا چیکار باید کرد ؟