Question

Je travaille actuellement sur une solution prototype ASP.NET MVC 3 qui sera utilisée comme base pour plusieurs réécritures de projet (à partir de formulaires Web).

L'un des objectifs que j'ai est d'implémenter une certaine gestion des scripts sur l'application par opposition à aucun que nous avons actuellement.

MVC 3 A un défaut IMHO: si vous avez besoin de script spécifique spécifié sur une vue partielle ou une vue de modèle - vous pouvez finir par perdre le contrôle sur l'endroit où le bloc de script est situé dans HTML rendu ou avoir à spécifier chaque fichier JavaScript dépendant dépendant sur la vue parent.

J'ai envisagé sérieusement d'utiliser http://getcassette.net/ comme un cadre pour résoudre le problème décrit. Cependant, la dernière version de MVC4 Beta m'a fait douter de moi-même: les paquets de MVC sont vraiment similaires aux paquets de Cassette et je suis à nouveau confus:

  1. Dois-je implémenter Cassette maintenant et migrer vers les faisceaux MVC4?

  2. Dois-je implémenter moi-même un gestionnaire de script simplifié (SH. Comme les scripts helint class dans MVC4 Aperçu), puis migrer vers MVC4

  3. Ou devrais-je intégrer Cassette dans Project et j'espère qu'il sera plus à l'épreuve des futurs que l'imlémentation de MVC (je n'aime vraiment pas cette option pour le moment juste à cause du nombre de dépendances, la cassette est livrée).

Je n'ai aucune expérience avec Cassette elle-même et je trouve vraiment difficile de faire la comparaison moi-même et j'apprécierais toutes les réponses ou indices.

ÉDITER:Je viens de penser qu'il existe une autre option: installer le package Beta Nuget pour MVC Bundling: https://nuget.org/packages/microsoft.web.optimisation

CONCLUSION:Plus je me penche sur la mise en œuvre du bundle MVC4, plus la différence que je remarque: les faisceaux MVC4 ne traitent pas du problème MVC3 décrit ci-dessus - ils font simplement du regroupement et de la minification. De plus, Cassette n'est pas seulement capable de rendre des balises de script dans un endroit spécifique, il est également capable de les commander dans un ordre correct qui n'est pas trivial. Donc, pour le moment, je ne suis satisfait de l'une ou l'autre des solutions et j'essaierai de trouver ma propre mise en œuvre minimaliste en espérant que la situation s'améliorera à l'avenir.

Mais si vous n'avez pas peur d'ajouter 5+ Les dépendances et le tas de web.config se transforment dans votre projet - optez pour cassette. J'espère qu'il sera mis à jour à un moment donné pour utiliser le regroupement MVC à l'intérieur pour réduire la duplication des fonctionnalités, et espérons-le, deviendra plus modulaire.


METTRE À JOUR:À partir de la version 2.0 de Cassette, il n'est plus nécessaire d'inclure le script de café et d'autres fonctionnalités de Cassette si vous avez juste besoin de bundles et de résolution de dépendance JS. À ce stade, Cassette est un gagnant clair pour moi.

Était-ce utile?

La solution

Les informations sur le regroupement ASP.NET MVC sont ici: http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx.

ASP.NET ajoute une fonctionnalité qui facilite le «regroupement» ou «combine» plusieurs fichiers CSS et JavaScript dans moins de demandes HTTP. Cela fait que le navigateur demande beaucoup moins de fichiers et réduit à son tour le temps nécessaire pour les récupérer.

La prochaine version d'ASP.NET ajoute également une nouvelle fonctionnalité qui facilite également la réduction ou la «miniftive» de la taille de téléchargement du contenu.

On dirait que c'est essentiellement la même chose que Cassette. Toutes les autres choses étant égales par ailleurs, utilisez la solution native de ASP.NET MVC.

Autres conseils

J'ai fini par utiliser Cassette sur mon dernier projet et ça marche assez bien. Il n'y a vraiment pas beaucoup de configuration si vous utilisez Nuget, donc ma pensée est qu'il ne serait pas trop difficile d'utiliser Cassette maintenant, puis changez plus tard si vous le vouliez.

Une autre chose à considérer est que Cassette fait moins de compilation. Je ne sais pas si le regroupement MVC4 le fait ou non depuis que je n'ai pas eu le temps de le lire.

Cassette est toujours une alternative intéressante car elle a une prise en charge native pour moins et Coffescript. Il est également pris en charge pour les modèles HTML, si vous êtes intéressé par les cadres MVC côté client (épine dorsale, knockout, etc.)

Tout comme une mise à jour de cela, la prise en charge de moins et de CoffeeScript a été ajoutée dans le package de mise à jour 2 pour Visual Studio 2012, il commence donc à ressembler de plus en plus, il serait préférable d'ajouter les transformations dont vous avez besoin à l'implémentation native du regroupement / Minification a été soutenue dans MVC4 que d'aller avec une cassette à long terme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top