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']);
};
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. –
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
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. –