0

SCSS linting には gulp 3.9.1 と stylelint 7.6.0 を使用します。OSは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 プラグインに関連している可能性があります。

4

1 に答える 1

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

于 2016-12-14T21:58:25.457 に答える