我有一个 gulp 任务,它试图将 .scss 文件转换为 .css 文件(使用 gulp-ruby-sass),然后将生成的 .css 文件放入与原始文件相同的位置。问题是,由于我使用的是通配模式,我不一定知道原始文件的存储位置。
在下面的代码中,我尝试使用 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 文件似乎比我预期的要高一个目录。它应该在哪里project/sass/partials
,生成的文件路径就是project/partials
.
如果有更简单的方法来做到这一点,我肯定会更加感激这个解决方案。谢谢!