using System.Web;
using System.Web.Optimization;
namespace MvcApp
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery", "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js").Include("~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap","https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js").Include("~/Scripts/bootstrap.js"));
bundles.Add(new StyleBundle("~/Content/css", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css").Include("~/Content/bootstrap.css"));
BundleTable.EnableOptimizations = true;
bundles.UseCdn = true;
}
}
}
Che un sacco di sviluppatori non si rese conto è che ci sia un sovraccarico per la classe costruttore ScriptBundle e StyleBundle, che prende due parametri di stringa, ad esempio per ScriptBundle, sarebbe ScriptBundle (stringa, stringa) e per StyleBundle sarebbe StyleBundle (stringa, stringa).Il primo parametro è il percorso virtuale e il secondo parametro è cdnPath.
Ci si potrebbe chiedere, se sono necessari due parametri, come fa MVC a sapere quale utilizzare? Bene, la posizione cdn viene utilizzata solo quando la proprietà BundleTable.EnableOptimizations è impostata su true.
L'impostazione della proprietà EnableOptimization su true indica a MVC di utilizzare l'uso della versione ridotta del file anziché della versione normale.
Quando questa proprietà è impostata su true e il percorso cdn è presente, MVC utilizzerà il percorso cdn anziché il percorso virtuale locale.
C'è un'altra proprietà che devi impostare su true e che è il bundles.UseCdn.
Ciò indica a MVC di utilizzare la posizione cdn anziché la versione locale. Se BundleTable.EnableOptimization è impostato su false, quindi la versione locale viene utilizzata automaticamente come ripiego poiché la versione cdn è la versione ridotta.
leggere questo blog il suo chiaro sulla tua pensare:
http://www.techjunkieblog.com/2015/06/aspnet-mvc-5-configure-bundleconfig.html
fonte
2016-09-08 09:04:07
Grazie. Marchio. ma per la prima domanda, chiedo concretamente l'uso della CDN, non quella "generale" (locale, in occorrenza). Nell'esempio c'è il. Penso che per cdn non cerchi la versione min, questo è il motivo per cui la usiamo direttamente nell'esempio. – serhio
Il mio male, l'ho letto male. Non è possibile utilizzare il controllo delle versioni poiché si tratta di un file che risiede all'esterno dell'app. Un'alternativa sarebbe avere una tabella nel tuo db che possa mantenere l'ultima versione in una riga che a sua volta crea dinamicamente il tuo pacchetto. In questo modo puoi cambiare il cdn senza dover spingere la tua app. –