gulp建立依赖于文件夹的css

时间:2017-08-02 12:30:42

标签: node.js sass gulp

是否可以依赖于我的Theme文件夹构建一个css文件?问题是我有几个主题,使用相同的设置gulp应该采取Theme.scss并构建一个css文件到Theme,Theme1等。

gulp.task('sass', function () {
    return gulp.src('Css/Clients/**/theme.scss') // Gets all files ending with .scss
    .pipe(sass({outputStyle: 'compact'}))
    .pipe(gulp.dest('app/css'))
    .pipe(browserSync.reload({
        stream: true
    }))
});

gulp.task('watch', ['browserSync', 'sass', 'php'], function () {
    gulp.watch('Css/**/*.scss', ['sass']);
})

enter image description here

编辑:

我尝试了解决问题的方法,我看起来像这样:

enter image description here

但我只需要在theme1文件夹中的主题文件夹ander theme1.css中的theme.css,依此类推!有什么建议吗?

 gulp.task('sass', function () {
    var folders = getFolders(scriptsPath);

    var tasks = folders.map(function(folder) {
        return gulp.src(path.join(scriptsPath, folder, '/**/*.scss'))
        .pipe(sass({outputStyle: 'compact'}))
        // concat into foldername.js
        .pipe(concat(folder + '.css'))
        // write to output
        .pipe(gulp.dest(scriptsPath))
        // write to output again
        .pipe(gulp.dest(scriptsPath));
    });


   return merge(tasks);
    console.log(folders);

});

2 个答案:

答案 0 :(得分:3)

您可以指定多个目的地:

gulp.task('sass', function () {
    return gulp.src('Css/Clients/**/theme.scss') // Gets all files ending with .scss
    .pipe(sass({outputStyle: 'compact'}))
    .pipe(gulp.dest('app/css'))
    .pipe(gulp.dest('app/Theme'))
    .pipe(gulp.dest('app/Theme1'))
    .pipe(browserSync.reload({
        stream: true
    }))
});

答案 1 :(得分:0)

谢谢你们!

gulp.task('sass', function () {
var folders = getFolders(scriptsPath);

var tasks = folders.map(function(folder) {
    return gulp.src(path.join(scriptsPath, folder, '/**/*.scss'))
    .pipe(sass({outputStyle: 'compact'}))
    // concat into foldername
    .pipe(concat(folder + '.css'))
    // write to output
    .pipe(gulp.dest(scriptsPath+folder))
});

});