当我输入grunt时,我得到一个'jshint:all failed'错误

时间:2016-07-07 20:21:03

标签: javascript gruntjs gruntfile

我正在尝试通过grunt运行jshint但是我收到以下错误。

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

Aborted due to warnings.

我试过强迫它,但它只做了一小部分工作。

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

我已按照课程说明进行操作,并在'use strict';中添加到我的app.js,因为它丢失了使用严格的错误。我甚至在.jshintrc中添加了它要求的jshint:options文件。我仍然收到错误。我包括下面的脚本。

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

};

2 个答案:

答案 0 :(得分:0)

所以在Mike C.的帮助下,我设法弄清楚我的jshint出了什么问题:一切都行不通。添加if / else语句的大括号并将.controller与app.controller分开似乎已经使它工作了。再次感谢你。

答案 1 :(得分:0)

var app = angular.module('confusionApp', []) .controller替换为angular.module('confusionApp', []) .controller。 我希望这能解决这个问题。由于警告'app'已定义但未使用(如果您在终端中看到),该过程已中止。