我有以下 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/'));
});
我希望它获取 sassComponents/**/mainScss/
中的 .scss
文件并将其放入 public/stylesheets
(并且将其转换为 .css
) 但它会复制整个文件夹结构(而不仅仅是文件):
**/mainScss/sass.scss
从 .scss
到 .css
的转换是正确发生的,但是我如何只取出 sass 文件,而没有它所在的其余文件夹?
最佳答案
尝试以下操作:
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');
关于css - gulp任务复制整个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813905/