2016-07-07 11 views
-1

Ich versuche, jshint durch grunt ausführen, aber ich bekomme den folgenden Fehler.Wenn ich grunt eintippe, bekomme ich einen 'jshint: all failed' Fehler

Warning: Task "jshint:all" failed. Use --force to continue. 

Aborted due to warnings. 

habe ich versucht, es zu zwingen, aber es hat nur einen Bruchteil der Arbeit.

Execution Time (2016-07-07 20:05:33 UTC) 
loading tasks     50ms ▇▇▇▇ 11% 
loading grunt-contrib-jshint 233ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 51% 
jshint:all     172ms ▇▇▇▇▇▇▇▇▇▇▇▇▇ 38% 
Total 456ms 

Ich habe die Anweisungen auf Coursera gefolgt und in einem 'use strict'; meine app.js hinzugefügt, da es einen Fehler wirft, die strikte Verwendung fehlte. Ich fügte sogar die .jshintrc Datei hinzu, nach der es in jshint:options fragt. Ich bekomme immer noch den Fehler. Ich füge die folgenden Skripte ein.

app.js

var app = angular.module('confusionApp', []) 

.controller('menuController', function(){ 
    'use strict'; 
    this.tab = 1; 
    this.filtText = ''; 

    var dishes=[ 
       { 
       name: 'Uthapizza', 
       image: 'images/uthapizza.png', 
       category: 'mains', 
       label: 'Hot', 
       price:'4.99', 
       description: 'A unique combination of Indian Uthappam (pancake) and Italian pizza, topped with Cerignola olives, ripe vine cherry tomatoes, Vidalia onion, Guntur chillies and Buffalo Paneer.', 
       comment: '' 
       }, 
       { 
       name: 'Zucchipakoda', 
       image: 'images/Zucchipakoda.png', 
       category: 'appetizer', 
       label: '', 
       price:'1.99', 
       description: 'Deep-fried with mildly spiced Chickpea flour batter accompanied with a tamarind sauce.', 
       comment: '' 
       }, 
       { 
       name: 'Vadonut', 
       image: 'images/vadonut.png', 
       category: 'appetizer', 
       label: 'New', 
       price:'1.99', 
       description: 'A quintessential experience, is it a vada or is it a donut.', 
       comment: '' 
       }, 
       { 
       name: 'ElaiCheese Cake', 
       image: 'images/elaicheesecake.png', 
       category: 'dessert', 
       label: '', 
       price:'2.99', 
       description: 'A delectable, semi-sweet New York Style Cheese Cake with Graham cracker crust spiced with Indian cardamoms', 
       comment: '' 
       } 
       ]; 
    this.dishes = dishes; 

    this.select = function(setTab){ 
     this.tab = setTab; 

     if(setTab === 2) 
      this.filtText = "appetizer"; 
     else if(setTab === 3) 
      this.filtText = "mains"; 
     else if(setTab === 4) 
      this.filtText = "dessert"; 
     else 
      this.filtText = ""; 
    }; 

    this.isSelected = function(checkTab) { 
     return (this.tab === checkTab); 
    }; 



}); 

Gruntfile.js

'use strict'; 

module.exports = function(grunt){ 

//Time how long tasks take. Can help when optimizing times 
require('time-grunt')(grunt); 

//Automatically load grunt tasks 
require('jit-grunt')(grunt, { 
    default: 'default' 
}); 


//Define the configuration of all the tasks 
grunt.initConfig({ 

    pkg: grunt.file.readJSON('package.json'), 

    //Make sure code styles are up to par and there are no obvious mistakes. 
    jshint: { 
     options: { 
      jshintrc: '.jshintrc', 
      reporter: require('jshint-stylish') 
     }, 
     all: { 
      src: [ 
      'Gruntfile.js', 
      'app/scripts/{,*/}*.js' 
      ] 
     } 
    } 
}); 

grunt.registerTask('build', [ 
    'jshint' 
]); 

grunt.registerTask('default', ['build']); 

}; 
+0

Was genau sagt der Fehler? Sie benötigen möglicherweise eine globale 'use strict', die sich über nicht deklarierte Variablen oder eine beliebige Anzahl anderer Dinge je nach Ihren Einstellungen beschweren kann. –

+1

Es bietet den obigen Fehler zusammen mit den folgenden 'warnings.app/scripts/app.js Zeile 52 Spalte 17 Erwartete '{' und stattdessen sah 'dies'. Zeile 54 Spalte 17 Erwartete '{' und stattdessen sah 'dies'. Zeile 56 Spalte 17 Erwartete '{' und stattdessen sah 'dies'. Zeile 58 Spalte 17 Erwartete '{' und stattdessen sah 'dies'. Zeile 1 Spalte 5 'App' ist definiert, wird aber nie verwendet. ⚠ 5 Warnungen Warnung: Task "jshint: all" ist fehlgeschlagen. Verwenden Sie --force, um fortzufahren. Abbruch wegen Warnungen. – muzzo

+1

Lesen Sie die Warnungen. Es sagt Ihnen, dass es erwartet, dass Sie Klammern auf Ihre 'if' Anweisungen setzen (' if (setTab === 2) {...} ') und dass Sie nicht Ihre' app' Variable verwenden. –

Antwort

0

Also mit Hilfe von Mike C. ich, um herauszufinden, was geschafft, mit meinem jshint ging schief: alle nicht funktioniert. Das Hinzufügen der geschweiften Klammern um die if/else-Anweisung und das Trennen des .controllers mit einem app.controller hat es anscheinend funktioniert. Danke nochmal.

0

Ersetzen Sie var app = angular.module('confusionApp', []) .controller durch angular.module('confusionApp', []) .controller. Ich hoffe, das wird das Problem beheben. Der Prozess wird abgebrochen, weil die Warnung "App" definiert ist, aber nie verwendet wird (wenn Sie im Terminal sehen).