我使用 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 插件有关。