如何让gulp-jshint忽略文件夹

时间:2016-04-07 11:11:46

标签: gulp jshint jscs gulp-jscs gulp-jshint

我在继承的解决方案中有以下文件夹结构

.\gulp.config.js
.\gulpfile.js
.\.jscsrc
.\.jshintrc
.\default.js
.\Resources\js\main.js
.\Resources\js\modules\   various user created js files
.\Resources\js\vendor\    various js files i.e jQuery

我安装了gulp-jscs和gulp-jshint。

我从https://github.com/johnpapa/pluralsight-gulp/blob/master/.jscsrc获取的.jscsrc。

我在gulpfile.js中有以下内容:

'use strict'

var gulp = require('gulp');
var jshint = require('gulp-jshint');
var jscs = require('gulp-jscs');

gulp.task('verifyJS',function(){
    gulp.src([
        './Resources/**/*.js',
        './*.js'
    ])
    .pipe(jscs())
    .pipe(jshint())
    .pipe(jshint.reporter('jshint-stylish', { verbose: true }));
});

我正在尝试更新.jscsrc中的excludeFiles以排除以下内容:

.\default.js 
.\resources\js\vendor

这就是我的尝试:

 "excludeFiles": [
     "node_modules/**",
     "bower_components/**",
     "Resources/js/vendor/**", // vendor supplied files. ie jQuery
     "./Resources/js/vendor/**", 
     "default.js", 
     "/default.js", 
     "./default.js", 
 ],

我已经包含了我尝试过的所有组合。

但是当我运行gulp verifyJS时,它仍然包含我想要排除的文件。

如何正确设置excludeFiles以排除项目根目录中的文件以及包含所有后续文件和文件夹的子文件夹?

1 个答案:

答案 0 :(得分:7)

gulp-jshint并不关心.jscsrc中的内容,因为这是gulp-jscs的配置文件。您需要一个.jshintignore文件。

以下是如何忽略gulp-jscsgulp-jshint中的供应商文件:

<强> .jscsrc

"excludeFiles": [
  "node_modules/**",
  "bower_components/**",
  "Resources/js/vendor/**",
  "default.js", 
],

<强> .jshintignore

node_modules/**
bower_components/**
Resources/js/vendor/**
default.js

<强> gulpfile.js

gulp.task('verifyJS', function(){
  return gulp.src([
    './Resources/**/*.js',
    './*.js'
  ])
  .pipe(jscs())
  .pipe(jscs.reporter()) // you forgot this
  .pipe(jshint())
  .pipe(jshint.reporter('jshint-stylish', { verbose: true }));
});