Como
@Scripts.Render("~/bundles/jquery")
diferem de apenas referenciar o script de html como este
<script src="~/bundles/jquery.js" type="text/javascript"></script>
Existem ganhos de desempenho?
asp.net-mvc-4
asp.net-optimization
Tom Squires
fonte
fonte
Respostas:
Agrupar consiste em compactar vários arquivos JavaScript ou de folhas de estilo sem formatação (também denominada minificada) em um único arquivo para salvar a largura de banda e o número de solicitações para carregar uma página.
Como exemplo, você pode criar seu próprio pacote:
E renderize assim:
Mais uma vantagem
@Scripts.Render("~/bundles/mybundle")
sobre o nativo<script src="~/bundles/mybundle" />
é que@Scripts.Render()
respeitará aweb.config
configuração de depuração:Se
debug="true"
então, ele renderizará tags de script individuais para cada script de origem, sem qualquer minificação.Para folhas de estilo, você precisará usar um StyleBundle e @ Styles.Render ().
Em vez de carregar cada script ou estilo com uma única solicitação (com tags de script ou link), todos os arquivos são compactados em um único arquivo JavaScript ou de folha de estilo e carregados juntos.
fonte
Você também pode usar:
Para especificar o formato da sua saída em um cenário em que você precisa usar Charset, Tipo, etc.
fonte
async
atributo.@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")