Pergunta

Atualmente, estou trabalhando em um protótipo de solução ASP.NET MVC 3 que será usada como base para várias reescritas de projetos (a partir de formulários da web).

Um dos objetivos que tenho é implementar algum gerenciamento de script no aplicativo, ao contrário de nenhum que temos atualmente.

MVC 3 tem uma falha IMHO: se você precisar de um script específico especificado em uma visualização parcial ou visualização de modelo - você pode acabar perdendo o controle sobre onde o bloco de script está localizado no HTML renderizado ou tendo que especifique cada arquivo javascript dependente na visualização principal.

Estou pensando seriamente em usar http://getcassette.net/ como uma estrutura para resolver o problema descrito. No entanto, o último lançamento do MVC4 beta me fez duvidar de mim novamente: os pacotes MVC são muito semelhantes aos pacotes de cassetes e estou confuso novamente:

  1. Devo implementar o cassete agora e depois migrar para pacotes MVC4?

  2. Devo eu mesmo implementar algum gerenciador de script simplificado (sth. como classe auxiliar Scripts na visualização MVC4) e, em seguida, migrar para MVC4

  3. Ou devo integrar o cassete ao projeto e esperar que seja mais à prova de futuro do que a implementação do MVC (eu realmente não gosto dessa opção agora apenas por causa do grande número de dependências que o cassete vem com).

Não tenho experiência com o Cassette em si e acho muito difícil fazer a comparação sozinho e gostaria de receber qualquer resposta ou sugestão.

EDITAR: Acabei de descobrir que existe outra opção: instalar o pacote nuget beta para agrupamento MVC: https:// nuget. org / packages / Microsoft.Web.Optimization

CONCLUSÃO: Quanto mais eu observo a implementação do pacote MVC4, maior a diferença que noto: os pacotes MVC4 não abordam o problema MVC3 descrito acima - eles apenas fazem o pacote e a minimização. Além disso, o cassete não é apenas capaz de renderizar tags de script em um local específico, mas também de ordená-los na ordem correta, o que não é trivial. Portanto, no momento, não estou satisfeito com nenhuma das soluções e tentarei encontrar minha própria implementação minimalista, esperando que a situação melhore no futuro.

Mas se você não tem medo de adicionar dependências 5+ e um monte de mudanças web.config em seu projeto - vá para o cassete. Espero que seja atualizado em algum ponto para utilizar o agrupamento MVC interno para reduzir a duplicação de funcionalidade e, com sorte, se tornará mais modular.


ATUALIZAÇÃO: A partir da versão 2.0 do Cassette, não é mais necessário incluir o script de café e outros recursos do Cassette se você precisar apenas de pacotes e resolução de dependência de js. Portanto, neste ponto, o Cassette é um claro vencedor para mim.

Foi útil?

Solução

As informações sobre o agrupamento ASP.NET MVC estão aqui: http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx .

ASP.NET está adicionando um recurso que torna mais fácil "agrupar" ou “Combine” vários arquivos CSS e JavaScript em menos solicitações HTTP. Isso faz com que o navegador solicite muito menos arquivos e, por sua vez, reduz o tempo que leva para buscá-los.

O próximo lançamento do ASP.NET também está adicionando um novo recurso que o torna fácil de reduzir ou “diminuir” o tamanho do download do conteúdo também.

Parece que é essencialmente a mesma coisa que Cassete.Todas as outras coisas sendo iguais, use a solução que é nativa da ASP.NET MVC.

Outras dicas

Acabei usando o Cassette no meu último projeto e está funcionando muito bem.Na verdade, não há muita configuração nele se você usar o NuGet, então eu acho que não seria muito difícil usar o Cassette agora e depois mudar mais tarde, se você quiser.

Outra coisa a considerar é que o Cassette faz menos compilação.Não tenho certeza se o pacote MVC4 faz isso ou não, já que não tive tempo de ler sobre isso.

Cassete ainda é uma alternativa interessante, pois tem suporte nativo para less e coffescript.Ele também tem suporte para modelos HTML, se você estiver interessado em frameworks mvc do lado do cliente (backbone, knockout etc)

Apenas como uma atualização para isso, o suporte LESS e CoffeeScript foi adicionado ao pacote de atualização 2 para Visual Studio 2012, então está começando a parecer cada vez mais que seria melhor adicionar quais transformações você precisa para a implementação nativa deo Pacote / Minificação apoiado em MVC4 do que ir com Cassete a longo prazo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top