1

根據MS bundling dev{version}通配符是(\d+(?:.\d+){1,3})的正則表達式。這之間的區別:MVC4 bundle {版本}通配符扼流器在非數字版本

jquery-1.8.2.js 
jquery-ui-1.9.0.js 

但由於非數字編號(#.#.#pre)它扼流圈:

html5shiv-3.6.2pre.min.js 
html5shiv-printshiv-3.6.2pre.min.js 

所以我這樣做:html5shiv-3*html5shiv-printshiv-*。但是,這當然意味着我必須在腳本更改時更新捆綁包。

我只是把html5shiv作爲一個簡單的例子。這個問題很普遍,因爲包含「pre」,「beta」,「-a」,「-alpha」等常見。解決方案是手動重命名文件,但不是通過nuget自動執行。

我做錯了什麼?

回答

1

聽起來像{version}正則表達式應該匹配語義版本來說明-pre/alpha1後綴。我會將其添加到我們的積壓。

+0

這將有很大的幫助,並且可以自動使用大量的nuget軟件包。不知道如何解釋所有不同的模式。也許尋找尾隨的「。」或「.min」或「.css」或「.min.css」或類似的東西。 –

0

我不明白你的問題。

如果您使用的語法{version}你仍然可以使用後綴如-pre或-min

一個例子是

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
         "~/Scripts/jquery-{version}-min.js")); 

它沒有包括在版本-min變量。

+0

我認爲「pre」是版本號的一部分?下一個版本可能有它,可能不是。想想「1.2.3beta」,下一個版本可能沒有「測試版」。所以如果你把它放到聲明中,你就必須每次都編輯它。 –

+0

另外,我不知道後綴是否被允許!在任何地方是否有官方允許的後綴/前綴/通配符列表?我還沒有看到全面的文檔。 –