(gulp-ruby-sassを使用して).scssファイルを.cssファイルに変換し、結果の.cssファイルを元のファイルと同じ場所に配置しようとしているgulpタスクがあります。問題は、グロビングパターンを使用しているため、元のファイルがどこに保存されているかが必ずしもわからないことです。
以下のコードでは、gulp-tapを使用してストリームをタップし、ストリームが読み取られた現在のファイルのファイルパスを把握しようとしています。
gulp.task('convertSass', function() {
var fileLocation = "";
gulp.src("sass/**/*.scss")
.pipe(sass())
.pipe(tap(function(file,t){
fileLocation = path.dirname(file.path);
console.log(fileLocation);
}))
.pipe(gulp.dest(fileLocation));
});
の出力に基づいてconsole.log(fileLocation)
、このコードは正常に動作するようです。ただし、結果のCSSファイルは、予想よりも1つ上位のディレクトリに配置されるようです。本来あるべき場所ではproject/sass/partials
、結果のファイルパスはただproject/partials
です。
これを行うためのはるかに単純な方法がある場合、私は間違いなくその解決策をさらに感謝します。ありがとう!
sass
ますか?ただ、すべてをまっすぐにフォルダに入れてください?