css - gulp任务复制整个文件夹

标签 css sass gulp

我有以下 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/

相关文章:

javascript - run-sequence 不按顺序运行 gulp 任务

gulp - 在 gulp-postcss 内部或外部使用 autoprefixer 有什么区别?

html - (CSS)倾斜img框架而不扭曲图像

css - 进度条作为表格背景

html - 使用列时位置 : fixed of CSS is used, 时重叠 div

css - 我如何包含一个包含变量的混合,然后在父组合器中更改该变量值?

javascript - Bootstrap-sass gem Javascript 不能在 Rails 4 中工作

javascript - 具有 "graphical wrong"空间的数组

css - SCSS - 作为 parent 的第 n 个 child ?

javascript - 使用 Gulp 和 Babel 缩短构建时间