我有一个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
。
如果这样做的方法要简单得多,那么我肯定会更喜欢该解决方案。谢谢!
这比数字1311407导致的更为简单。您根本不需要指定目标文件夹,只需使用即可
.
。另外,请确保设置基本目录。