【发布时间】:2014-06-08 11:36:22
【问题描述】:
我有一个 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。
如果有更简单的方法可以做到这一点,我肯定会更加感激这个解决方案。谢谢!
【问题讨论】:
标签: javascript node.js sass gulp