2

我的 gruntfile 中有多个 jshint 配置。

我测试了每个配置,效果很好。

但是,当我在 gruntfile 中为每个配置定义一个目标时,jshint 停止工作,我只能看到:

0 files linted. Please check your ignored files.

这是我的 jshint 配置与目标的样子:

    jshint: {
        backend: {
            options: {
                jshintrc: '.jshintrc'
            },
            all: [
                'Gruntfile.js',
                'server.js',
                '*.js',
                'backend/{,*/}*.js'
            ]
        },
        test: {
            options: {
                jshintrc: 'test.jshintrc'
            },
            all: [
                'test/{,*/}*.js'
            ]
        }
    }
4

2 回答 2

3

对于多个任务更改:

'all' : {...} 

'files': { src: [...] } 

应该修复它。'all' 似乎是单个任务的简写,如果有多个任务,jshint 将在 files->src 中查找文件,即:

backend: {
    options: {
        jshintrc: '.jshintrc'
    },
    'files': { 
        'src': [
            'Gruntfile.js',
            'server.js',
            '*.js',
            'backend/{,*/}*.js'
        ]
    }
},
test: {
    options: {
        jshintrc: 'test.jshintrc'
    },
    'files': {
        'src': [
            'test/{,*/}*.js'
        ]
    }
}
于 2014-05-27T03:09:53.547 回答
0

我的团队发现这是可行的,我们正在我们的一个项目中使用它。尽管我不推荐使用这种方法,但它教会了我一些关于 grunt 是如何工作的,以及如何在运行时以编程方式调用任务和更改选项,所以我觉得它是相关的。

jshint: {
        options: {
            jshintrc: '.jshintrc'
        },
        all: [
            'Gruntfile.js',
            '<%= yeoman.app %>/scripts/{,*/}*.js'
        ],
        backend: [
            'server.js'
        ]
    },

 .... 

 grunt.registerTask('backend', function() {
    grunt.config.set('jshint.options.jshintrc', '.backendhintrc');
    grunt.task.run('jshint:backend');
});
于 2014-06-18T08:50:31.413 回答