2014-09-10 3 views
0

J'utilise les éléments BundleCollection suivants sur mon site ASP MVC 4 (la première fois en utilisant MVC 4). J'essaye de charger jQuery et Backbone.js, mais selon la console de Chrome cela fonctionne correctement.Les scripts BundleConfig ne fonctionnent pas

Voici le fichier .js que j'utilise actuellement. Quand je suis charge la page que je reçois l'erreur suivante

enter image description here

Si je commente sur cette ligne, je reçois cette erreur sur la ligne suivante

enter image description here

Cela semble me dire cela, même si je ne reçois aucune erreur, Backbone et jQuery ne se chargent pas correctement (bien que je puisse me tromper).

BundleConfig

public class BundleConfig 
{ 
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/BackboneApps").Include(
        "~/Scripts/SliderApp.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jsMVC").Include(
        "~/Scripts/underscore.js", 
        "~/Scripts/backbone.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

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

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.unobtrusive*", 
        "~/Scripts/jquery.validate*")); 

     // Use the development version of Modernizr to develop with and learn from. Then, when you're 
     // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. 
     bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
        "~/Scripts/modernizr-*")); 

     bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); 

     bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
        "~/Content/themes/base/jquery.ui.core.css", 
        "~/Content/themes/base/jquery.ui.resizable.css", 
        "~/Content/themes/base/jquery.ui.selectable.css", 
        "~/Content/themes/base/jquery.ui.accordion.css", 
        "~/Content/themes/base/jquery.ui.autocomplete.css", 
        "~/Content/themes/base/jquery.ui.button.css", 
        "~/Content/themes/base/jquery.ui.dialog.css", 
        "~/Content/themes/base/jquery.ui.slider.css", 
        "~/Content/themes/base/jquery.ui.tabs.css", 
        "~/Content/themes/base/jquery.ui.datepicker.css", 
        "~/Content/themes/base/jquery.ui.progressbar.css", 
        "~/Content/themes/base/jquery.ui.theme.css")); 
    } 
} 

Layout.cshtml

<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <title>@ViewBag.Title</title> 
    @Styles.Render("~/Content/css") 
    @Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/jsMVC") 
    @Scripts.Render("~/bundles/jqueryui") 
    @Scripts.Render("~/bundles/BackboneApps") 
</head> 

Index.cshtml

<h3>SPX Allocation: <span id="SpxAllocPercentage"></span></h3> 
     <!-- "slider" is a jquery slider --> 
    <div id="slider"></div> 

    <!-- "sliderVal" displays the slider's position. It receives the value via model. --> 
    <input type="text" id="sliderVal" value="0"/> 

EDIT

Voici le rendu HTML. Immédiatement remarqué que Backbone est manquant.

<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <title></title> 
    <link href="/Content/site.css" rel="stylesheet"/> 

    <script src="/Scripts/jquery-1.8.2.js"></script> 


    <script src="/Scripts/jquery-ui-1.8.24.js"></script> 

    <script src="/Scripts/SliderApp.js"></script> 

</head> 

Lorsque Si l'un des autres faisceaux comprennent jquery (défini deux fois) j'ai vérifié la console à nouveau, semble que j'avais tort et il y a ces deux erreurs concernant Backbone et Souligné

enter image description here

+0

Soyez prudent avec l'empaquetage pour vous assurer que chaque fichier est terminé avec un ';', et éventuellement un saut de ligne. J'ai eu des problèmes dans le passé où les fichiers sont simplement concaténés ensemble. Si la fin d'une commande rencontre le début d'une autre, vous obtiendrez des erreurs étranges comme celle-ci. –

+0

Je considérerais aussi jslinting vos fichiers pour voir s'il y a d'autres erreurs de javascript – drneel

+0

@RoryMcCrossan Je viens de remarquer que Backbone/Underscore manquaient dans le HTML rendu. Mise à jour du post. – NealR

Répondre

0

il est possible de voir des erreurs comme celle-ci. Commencez par charger un paquet à la fois et affichez la source de la page pour vérifier que les fichiers de l'ensemble ont été inclus. Répétez l'opération pour chacun jusqu'à ce qu'un lot soit chargé avec des fichiers manquants.

Questions connexes