158 votes

Le caractère générique {version} dans le Bundle MVC4

Dans MVC 4, nous avons des bundles. En définissant les bundles, nous pouvons utiliser des caractères de remplacement comme * pour tous les fichiers d'un dossier.

Dans l'exemple ci-dessous, que fait -{version} C'est-à-dire ?

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js"));
}

183voto

Hao Kung Points 13035

El -{version} correspond essentiellement à une version regex ou pour être précis : (\d+(?:\.\d+){1,3}) .
Utilisation de * a tendance à trop saisir, par exemple si vous regroupez jquery* qui comprendra jquery-ui ce qui pourrait perturber l'ordonnancement. Mais en utilisant jquery-{version}.js vous permettrait d'éviter d'avoir à mettre à jour la définition de votre bundle à chaque fois que vous mettez à jour jquery.

Autres points à noter :

  • {version} ne fonctionne que pour la dernière partie du chemin - essentiellement le nom du fichier - et non un répertoire.
  • plusieurs versions de jquery dans le même dossier seront toutes rattrapées.

2 votes

Comment cela fonctionnerait-il avec de multiples versions de ex : jquery présentes dans le dossier ?

21 votes

Il s'agit d'une expression rationnelle qui inclut toutes les correspondances, donc si vous avez plusieurs versions dans le même répertoire, vous ne voudrez probablement pas l'utiliser.

0 votes

C'est vrai, c'est logique. Si vous avez besoin de versions spécifiques, alors faites des paquets spécifiques, sinon soyez agnostique en termes de versions. Merci @hao kung

12voto

MUG4N Points 5011

Ce paquet est capable d'accommoder les numéros de version dans les noms de script. Ainsi, la mise à jour de jQuery vers une nouvelle version dans votre application (via NuGet ou manuellement) ne nécessite aucune modification du code / du balisage.

Voir le lien suivant pour plus d'informations sur le regroupement : http://weblogs.asp.net/jgalloway/archive/2012/08/16/asp-net-4-5-asp-net-mvc-4-asp-net-web-pages-2-and-visual-studio-2012-web-developer-features.aspx

3 votes

Tant que vous vous assurez que les anciennes versions sont effectivement supprimées.

0 votes

Lorsque j'utilise {version} Je reçois Jquery is undefined et lorsque je remplace par la version réelle, dans mon cas 3.1.1, cela fonctionne bien.

0voto

leoli Points 1

~/Scripts/jquery-{version}.js y est inclus. Ici, le système de regroupement est assez intelligent pour référencer la version la plus élevée du fichier jquery lorsque nous avons spécifié le sélecteur {version} dans le chemin. De même, ce système de regroupement est assez intelligent pour choisir la version réduite du fichier, si elle est disponible dans le chemin défini.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X