第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何指定明確的ScriptBundle包含順序?

如何指定明確的ScriptBundle包含順序?

慕絲7291255 2019-10-28 14:15:21
我正在嘗試MVC4 System.Web.Optimization 1.0 ScriptBundle功能。我有以下配置:public class BundleConfig{    public static void RegisterBundles(BundleCollection bundles)    {        // shared scripts        Bundle canvasScripts =            new ScriptBundle(BundlePaths.CanvasScripts)                .Include("~/Scripts/modernizr-*")                .Include("~/Scripts/json2.js")                .Include("~/Scripts/columnizer.js")                .Include("~/Scripts/jquery.ui.message.min.js")                .Include("~/Scripts/Shared/achievements.js")                .Include("~/Scripts/Shared/canvas.js");        bundles.Add(canvasScripts);    }}和以下視圖:<script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script>哪里BundlePaths.CanvasScripts是"~/bundles/scripts/canvas"。它呈現(xiàn)如下:<script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script>到目前為止一切順利,但~/Scripts/Shared/achievements.js捆綁源中的第一個(gè)腳本除外。它取決于之前包含的每個(gè)腳本ScriptBundle。我如何確保它遵循我向包中添加包含語句的順序?更新資料這是一個(gè)相對較新的ASP.NET MVC 4應(yīng)用程序,但它引用了優(yōu)化框架預(yù)發(fā)行包。我刪除了它,并從http://nuget.org/packages/Microsoft.AspNet.Web.Optimization添加了RTM包。對于在web.config中具有debug = true的RTM版本,@Scripts.Render("~/bundles/scripts/canvas")將以正確的順序呈現(xiàn)各個(gè)腳本標(biāo)簽。在web.config中使用debug = false時(shí),合并的腳本首先具有Achievements.js腳本,但是由于它是稍后調(diào)用的函數(shù)定義(對象構(gòu)造函數(shù)),因此運(yùn)行時(shí)沒有錯(cuò)誤??s小器也許足夠聰明以找出依賴關(guān)系?我還嘗試了IBundleOrdererDarin Dimitrov建議的RTM在兩個(gè)調(diào)試選項(xiàng)下的實(shí)現(xiàn),并且其表現(xiàn)相同。因此,縮小版本與我期望的順序不符,但可以正常工作。
查看完整描述

3 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以編寫一個(gè)自定義的捆綁IBundleOrderer包排序器(),以確保捆綁包包含在您注冊它們的順序中:


public class AsIsBundleOrderer : IBundleOrderer

{

    public virtual IEnumerable<FileInfo> OrderFiles(BundleContext context, IEnumerable<FileInfo> files)

    {

        return files;

    }

}

接著:


public class BundleConfig

{

    public static void RegisterBundles(BundleCollection bundles)

    {

        var bundle = new Bundle("~/bundles/scripts/canvas");

        bundle.Orderer = new AsIsBundleOrderer();

        bundle

            .Include("~/Scripts/modernizr-*")

            .Include("~/Scripts/json2.js")

            .Include("~/Scripts/columnizer.js")

            .Include("~/Scripts/jquery.ui.message.min.js")

            .Include("~/Scripts/Shared/achievements.js")

            .Include("~/Scripts/Shared/canvas.js");

        bundles.Add(bundle);

    }

}

并且在您看來:


@Scripts.Render("~/bundles/scripts/canvas")


查看完整回答
反對 回復(fù) 2019-10-28
?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

謝謝你達(dá)林。我添加了擴(kuò)展方法。


internal class AsIsBundleOrderer : IBundleOrderer

{

    public virtual IEnumerable<FileInfo> OrderFiles(BundleContext context, IEnumerable<FileInfo> files)

    {

        return files;

    }

}


internal static class BundleExtensions

{

    public static Bundle ForceOrdered(this Bundle sb)

    {

        sb.Orderer = new AsIsBundleOrderer();

        return sb;

    }

}

用法


bundles.Add(new ScriptBundle("~/bundles/jquery").Include(

                    "~/Scripts/jquery-{version}.js",

                    "~/Scripts/jquery-migrate-{version}.js",


                    "~/Scripts/jquery.validate.js",

                    "~/Scripts/jquery.validate.messages_fr.js",

                    "~/Scripts/moon.jquery.validation-{version}.js",


                    "~/Scripts/jquery-ui-{version}.js"

                    ).ForceOrdered());


查看完整回答
反對 回復(fù) 2019-10-28
  • 3 回答
  • 0 關(guān)注
  • 745 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號