我有以下gulp任务:
gulp.task('sassComponents', function() {
return gulp.src('sassComponents/**/mainScss/*.scss')
.pipe(sass({
'sourcemap=none': true,
errLogToConsole: true
})).on('error', notify.onError({
title: "mistake: ",
message: "<%= error.message %>"
}))
.pipe(gulp.dest('public/stylesheets/'));
});
我希望它将.scss
中的sassComponents/**/mainScss/
文件放入public/stylesheets
(并将其转换为.css
),但它会复制整个文件夹结构(不是只是文件):
**/mainScss/sass.scss
从.scss
到.css
的转换正确发生,但是如何在没有其余文件夹的情况下获取sass文件?
答案 0 :(得分:1)
尝试以下方法:
gulp.task('sassComponents', function(){
return gulp.src('sassComponents/**/mainScss/*.scss', {base: "./"})
.pipe(sass({
'sourcemap=none': true,
errLogToConsole: true
})).on('error', notify.onError({
title: "mistake: ",
message: "<%= error.message %>"
}))
.pipe(rename({dirname:''}))
.pipe(gulp.dest('public/stylesheets/'));
});
修改强>
要使用上述代码,您需要使用npm安装gulp-rename:
npm install --save gulp-rename
并且您需要将其声明为gulpfile中的变量
var rename = require('gulp-rename');