2014-09-23 78 views
1

我想知道的是它possinle添加ASCX文件中捆綁喜歡用什麼樣的文件我們可以在asp.net捆綁

bundles.Add(new ScriptBundle("~/bundles/First").Include(
        "~/Script/js.ascx")); 

我想知道,因爲想我必須增加一個文件中捆綁產品發佈後,我必須再次爲此構建。

回答

2

不,我們不能包括在束我們只用js和css文件捆綁的ascx文件...這裏是一個小的解釋,爲什麼我們使用束

隨着Web應用程序變得更加複雜,數量它所依賴的外部腳本顯着增長。從jQuery和一些應用程序庫開始,如Backbone.js(及其依賴項,Underscore),然後從UI框架(如Foundation)和一些表單驗證腳本中插入插件 - 更不用說您的應用程序的代碼本身了! - 並且您可以輕鬆發現你的應用程序有幾十個外部文件,每個文件都必須在每個頁面刷新時加載。

爲了解決這個問題,開發人員經常使用名爲「bundlers」的工具,它們將腳本文件或樣式表連接成一個文件,從而減少了通過Internet發送多個文件的I/O開銷。許多人也執行一個稱爲「縮小」的過程,從而刪除非必要的空白,並將變量名稱更改得儘可能短,從而導致無法讀取但效率極高的代碼片段。

ASP MVC提供了兩個定製類捆綁ScriptBundle,對於JavaScript文件,並StyleBundle,對CSS。這兩個類都提供了內置縮小功能,從而進一步減少了總載荷。您需要爲每個包指定一個唯一路徑。

var myBundle = new ScriptBundle("~/bundles/js"); 

使用這個包,你可以簡單地通過使用它的方法添加新文件(或整個目錄!):

myBundle.IncludeDirectory("~/js/vendor/"); 
myBundle.Include("~/js/app.js"); 

一旦你與每捆完成的,其添加以收集作爲參數傳入

bundles.Add(myBundle); 

繼續此模式,直到您將所有你想要的包。

+0

這不回答你是否可以參考的ascx文件中捆綁的問題。 – Nzall 2014-09-23 11:15:12

+0

@NateKerkhofs我編輯了謝謝 – Tushar 2014-09-23 11:22:12

1

嗯,我不能回答具體問題(沒試過),但要解決「問題」:

我想知道,因爲想我必須增加一個文件中捆綁後產品發佈,那麼我必須再次爲此構建。

根據docs on bundling,您可以選擇包含文件甚至目錄..和通配符:

所以:

BundleCollection bundles = BundleTable.Bundles; 

bundles.Add((new ScriptBundle("~/bundle/custom") 
    .IncludeDirectory("~/Scripts/edsf/", "ed*"))); 

方式:

  • 我針對一個文件夾/Scripts/edsf
  • 我希望所有的腳本開始"ed",在規定的目錄,是在腳本包中,例如
    • edsf.js
    • edfoo.js

如果我添加一個新的文件,edbar.js,到/Scripts/edsf目錄時,它會自動捆綁在一起,你會看到的版本字符串得到更新。

無需建....

H個...