Bundling e Minification também tem a capacidade de explorar recursos do browser do cliente para gerar uma cache local dos seus arquivos de estilo e javascript.
O System.Web.Optimization namespace inclui classes que suportam o processo de otimização JavaScript e Cascading Style Sheet (CSS) arquivos em um site para reduzir o tamanho do arquivo e melhorar o desempenho página. As classes neste namespace permitem que os desenvolvedores para realizar tarefas de agrupamento e minimização de otimizar seu JavaScript e CSS.
O Framework 4.5 do ASP.NET e inclusive o MVC 4 possuem esse recurso, para utilizarmos precisamos colocar:
Classes:
Bundle: Representa uma lista de JavaScript ou Cascading Style Sheet (CSS) arquivos que o ASP.NET dinamicamente combina em um único arquivo virtual que um navegador pode recuperar usando uma única solicitação HTTP.
BundleCollection: Contém e gerencia o conjunto de registrados Bundle objetos em uma aplicação ASP.NET.
BundleFileSetOrdering: Contém uma lista de nomes de arquivos que determina a ordem de arquivo de um pacote de objeto.
BundleResponse: Representa um Bundle objeto e seu estado associado que ASP.NET envia como resposta a uma solicitação do navegador.
BundleTable: Fornece acesso programático para a coleção de registrados Bundle objetos em uma aplicação ASP.NET.
CssMinify: Transforma cada arquivo em um pacote de Cascading Style Sheet (CSS) para reduzir o tamanho do arquivo.
DefaultBundleOrderer: Fornece um padrão ordenado lista de arquivos em um pacote de objeto.
DynamicFolderBundle: Representa um Bundle objeto que o ASP.NET cria a partir de uma pasta que contém arquivos do mesmo tipo.
Exemplo:
<
link
href
=
"@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("
~/Content/css")"
rel
=
"stylesheet"
type
=
"text/css"
/>
<
link
href
=
"@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("
~/Content/themes/base/css")"
rel
=
"stylesheet"
type
=
"text/css"
/>
<
script
src
=
"@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("
~/Scripts/js")"></
script
>