مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

alibahman47

عضویت از 1395/11/13

مشکل در Bundle کردن چند آدرس Cdn

  • سه شنبه 4 اردیبهشت 1397
  • 19:07
تشکر میکنم

چندتا فایل css و js مربوط به ادیتور froala رو خواستم باندل کنم که اخطار زیر ر میده :

آیا Cdn ها رو نمیشه بصورت Bundle درآورد و یا من چیزی رو اشتباه نوشتم ؟

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • سه شنبه 4 اردیبهشت 1397
  • 20:09

اشتباه وارد کردید. بله تا حدودی میشه این کار رو انجام داد.

Using CDN in MVC script bundle. What am I missing?

کاربر سایت

alibahman47

عضویت از 1395/11/13

  • چهارشنبه 5 اردیبهشت 1397
  • 15:29

ممنون مهندس علیزاده ,

برای Js ها بصورت زیر باندل رو نوشتم و کار میکنه :

            //-------------------------------------FroalaEditorJs------------------------------------
            var JP1 = "http://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/codemirror.min.js";
            var JP2 = "http://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/mode/xml/xml.min.js";
            var JP3 = "http://cdnjs.cloudflare.com/ajax/libs/froala-editor/2.8.0/js/froala_editor.pkgd.min.js";

            var JQB1 = new ScriptBundle("~/bundles/FroalaEditorJs", JP1).Include();
            var JQB2 = new ScriptBundle("~/bundles/FroalaEditorJs", JP2).Include();
            var JQB3 = new ScriptBundle("~/bundles/FroalaEditorJs", JP3).Include();

            JQB1.CdnFallbackExpression = "window.jQuery";
            JQB2.CdnFallbackExpression = "window.jQuery";
            JQB3.CdnFallbackExpression = "window.jQuery";

            bundles.Add(JQB1);
            bundles.Add(JQB2);
            bundles.Add(JQB3);
            //-------------------------------------FroalaEditorJs------------------------------------

و برای Css ها هم به همین روش نوشتم ولی کار نکرد !


            //-------------------------------------FroalaEditorCss------------------------------------
            var CP1 = "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/codemirror.min.css";
            var CP2 = "https://cdnjs.cloudflare.com/ajax/libs/froala-editor/2.8.0/css/froala_editor.pkgd.min.css";
            var CP3 = "https://cdnjs.cloudflare.com/ajax/libs/froala-editor/2.8.0/css/froala_style.min.css";

            var CssB1 = new StyleBundle("~/bundles/FroalaEditorCss", CP1).Include();
            var CssB2 = new StyleBundle("~/bundles/FroalaEditorCss", CP2).Include();
            var CssB3 = new StyleBundle("~/bundles/FroalaEditorCss", CP3).Include();

            CssB1.CdnFallbackExpression = "window.jQuery";
            CssB2.CdnFallbackExpression = "window.jQuery";
            CssB3.CdnFallbackExpression = "window.jQuery";

            bundles.Add(CssB1);
            bundles.Add(CssB2);
            bundles.Add(CssB3);
            //-------------------------------------FroalaEditorCss------------------------------------

برای Css ها طور دیگه ای باید نشوته بشه ؟

و یه سوال دیگه : مهندس من برای کم شدن حجم پروژه دارم کل بخش ها رو Cdn میکنم (تا حد امکان) , این مورد بنظرتون اشکالی نداره ؟

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • چهارشنبه 5 اردیبهشت 1397
  • 16:33

Include های شما اشتباه هستند( آدرس فایلی که درون پروژه قرار دارد را اضافه کنید ).

این سیستم به این شیوه کار می کند که شما یک آدرس cdn و یک آدرس برای فایلی که درون پروژه قرار دارد را به bundle می دهید. حال این سیستم با CdnFallbackExpression در جاوااسکریپت چک می کند که آیا فریم ورک مورد نظر از cdn بارگذاری شده است یا خیر اگر خیر از فایل دورن پروژه استفاده می کند. cdnFallbackExpression برای css کار نمی کند و اضافی است که یک مشکل حل نشده در ASP.NET می باشد.

<script src = "https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js" async = ""> </script>
<script>(window.Modernizr)||document.write('<script src="/m"><\/script>');</script>

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)