0

所以我想观察对更少文件所做的更改,并使 CSS 的目标路径与更改的更少文件所在的文件夹相同。

这是一般文件结构:

    root
    |
    site1
    |   |
    |   includes
    |   |   |
    |   |   site1-styles.less
    |   |   site1-style.css
    site2
    |   |
    |   includes
    |   |   |
    |   |   site2-style.less
    |   |   site2-style.css

这是我认为可能可行的方法,但我意识到路径可能没有意义,而且我不确定通过正确目的地的最佳方式。

    // Require
    //////////////////////
    var gulp = require('gulp'),
    less = require('gulp-less'),
    minifyCSS = require('gulp-minify-css'),
    prefix = require('gulp-autoprefixer'),


    // Styles
    //////////////////////
    gulp.task('less', function () {
    gulp.src(['*/includes/*.less'])
    .pipe(less())
    .pipe(minifyCSS())
    .pipe(prefix("last 2 version", "> 1%", "ie 8", "ie 7"))
    .pipe(gulp.dest('*/includes/'))
    });

    //Default
    //////////////////////
    gulp.task('default', function() {
    gulp.watch(['*/includes/*.less'], ['less']);
    });

谢谢

4

1 回答 1

1

我猜你的 gulp.dest 应该只是一个'。所以 gulp.src 文件夹将被保留。

还要记住要返回一个流或使用回调,否则当任务完成时 gulp 将不会收到通知,并且您可能会遇到任务依赖性问题。这不是你的情况,但无论如何这是一个好习惯。

// Styles
//////////////////////
gulp.task('less', function () {
    return gulp.src(['*/includes/*.less'])
        .pipe(less())
        .pipe(minifyCSS())
        .pipe(prefix("last 2 version", "> 1%", "ie 8", "ie 7"))
        .pipe(gulp.dest('.'));
});

顺便说一句,当您遇到这些路径问题时,我发现gulp-debug插件非常有用,因此您可以进行实验并验证正在发生的事情。

于 2014-11-18T08:20:24.157 回答