【问题标题】:gulp task copying entire folder复制整个文件夹的 gulp 任务
【发布时间】:2016-08-17 23:59:06
【问题描述】:

我有以下 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 文件取出,而不使用它所在的其余文件夹?

【问题讨论】:

    标签: css sass gulp


    【解决方案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');
    

    【讨论】:

    • .pipe(rename({dirname:''})) 位摆脱了文件结构
    • 我收到一个错误ReferenceError: rename is not defined 那是什么节点模块(gulp-rename?)?
    • 你需要 gulp-rename 和 rename = require('gulp-rename'),
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多