stylelint + gulp对子文件夹

时间:2016-11-28 23:39:26

标签: gulp stylelint

我使用gulp 3.9.1和stylelint 7.6.0进行SCSS linting。操作系统是Ubuntu 我的gulp配置的相关部分如下所示:

var postcss = require('gulp-postcss');
var stylelint = require('stylelint');
var postcssReporter = require('postcss-reporter');
gulp.task('styles', function() {
  ...
  var lintProcessors = [
    stylelint(),
    postcssReporter({ clearMessages: true })
  ];

  gulp.src('app/assets_src/styles/**/*.scss')
    .pipe(postcss(lintProcessors, {syntax: scssSyntax}));
  ...
});

问题:
Stylelint非常适合像 app/assets_src/styles/file.scss
但它不会处理子文件夹中的文件,如: app/assets_src/styles/blocks/home/file.scss 另外奇怪的是,在一些极少数情况下它会为这样的嵌套文件触发一次,但随后又停止工作 我试图使用这样的路径:
app/assets_src/styles/**/**/*.scss
/app/assets_src/styles/**/*.scss
'./app/assets_src/styles/**/**/*.scss'
但没有运气。

同样使用此cli命令:stylelint 'app/assets_src/styles/**/*.scss'运行良好并处理子目录。所以问题可能与gulp-postcss插件有关。

1 个答案:

答案 0 :(得分:0)

答案是 - 你总是必须从gulp任务返回一个流,这样gulp就可以理解任务何时终止。

文档:https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support

问题讨论主题:https://github.com/postcss/gulp-postcss/issues/107#issuecomment-267168310