/ / MVC 4 BundleConfig ne crée pas de références de script - jquery, asp.net-mvc-4

MVC 4 BundleConfig ne crée pas de références de script - jquery, asp.net-mvc-4

J'ajoute quelques fichiers de script jQuery à mon application à l'aide de la classe bundleconfig.cs.

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.mCustomScrollbar.min.js",
"~/Scripts/jquery.mousewheel.min.js",
"~/Scripts/jtable/jquery.jtable.js"));

Lorsque j'exécute mon application et vérifie la source de la page, seuls certains fichiers de script sont référencés:

<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery-ui-1.10.3.js"></script>
<script src="/Scripts/jtable/jquery.jtable.js"></script>
<script src="/Scripts/jquery-migrate-1.2.1.min.js"></script>

Pourquoi cela arriverait-il? Je peux contourner le problème en ajoutant manuellement les références de script directement à _Layout.cshtml, mais ce n'est pas la meilleure pratique.

Réponses:

14 pour la réponse № 1

le .min une partie est déjà gérée par MVC - elle inclura automatiquement .js fichiers pour le mode Debug et .min.js fichiers pour le mode de libération.

Il suffit de télécharger la version non finifiée de jquery.mCustomScrollbar.min.js et le mettre dans votre répertoire de scripts, puis le référencer comme: jquery.mCustomScrollbar.js

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.mCustomScrollbar.js",
"~/Scripts/jquery.mousewheel.js",
"~/Scripts/jtable/jquery.jtable.js"));

MVC chargera ensuite le script approprié pour Debug / Release


2 pour la réponse № 2

C’est peut-être parce que vous n’avez pas activé le regroupement. Essayez de changer la valeur de l'attribut de débogage lors de la compilation en faux

<compilation debug="false" targetFramework="4.0" />

Ou l'activer manuellement:

BundleTable.EnableOptimizations = true;