吞咽少量然后缩小任务

JAY*_*ter 10 javascript node.js gulp

我必须在吞咽中做两个步骤:

  1. 减少.css文件格式
  2. 缩小生成的css文件

这是我的gulpfile:

var gulp = require('gulp'),
    watch = require("gulp-watch"),
    less = require('gulp-less'),
    cssmin = require('gulp-cssmin'),
    rename = require('gulp-rename');

gulp.task('watch-less', function () {
    watch({glob: './*.less'}, function (files) { // watch any changes on coffee files
        gulp.start('compile-less'); // run the compile task
    });

    watch({
        glob: ['./*.css', '!./*.min.css']
    }, function(files) {
        gulp.start('minify-css'); // run the compile task
    });
});

gulp.task('compile-less', function () {
    gulp.src('./*.less') // path to your file
    .pipe(less().on('error', function(err) {
        console.log(err);
    }))
    .pipe(gulp.dest('./'));
});

gulp.task('minify-css', function() {
    gulp.src([
        './*.css',
        '!./*.min.css'
    ])
    .pipe(cssmin().on('error', function(err) {
        console.log(err);
    }))
    .pipe(rename({suffix: '.min'}))
    .pipe(gulp.dest('./'));
})

gulp.task('default', ['watch-less']);
Run Code Online (Sandbox Code Playgroud)

当我开始它时,只完成第一步.请帮帮我.

Bal*_*zar 19

您应该记住,gulp您可以简单地将操作链接到glob模式上.

gulp.watch当你可以使用内置的观察者时,不确定你为什么需要,这个插件在棘手的情况下是有用的,而且在这里似乎不是这样,但如果你真的想要,你可以坚持下去.

不要忘记return您的流,因此gulp知道任务何时完成.

我也一般缠上了我所有的watchers内部一个watch task,没有必要将它们分开.

对我来说,你的gulpfile应该是这样的:

var gulp = require('gulp'),
    less = require('gulp-less'),
  cssmin = require('gulp-cssmin'),
  rename = require('gulp-rename');

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

gulp.task('less', function () {

  return gulp.src('./*.less')
    .pipe(less().on('error', function (err) {
      console.log(err);
    }))
    .pipe(cssmin().on('error', function(err) {
      console.log(err);
    }))
    .pipe(rename({suffix: '.min'}))
    .pipe(gulp.dest('./'));

});

gulp.task('default', ['less', 'watch']);
Run Code Online (Sandbox Code Playgroud)


JAY*_*ter 10

没有必要在一段时间后,对我来说方便的解决方案是:

var gulp = require('gulp'),
    less = require('gulp-less'),
    cssmin = require('gulp-cssmin'),
    plumber = require('gulp-plumber'),
    rename = require('gulp-rename');

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

gulp.task('less', function () {
    gulp.src('./styles/*.less')
        .pipe(plumber())
        .pipe(less())
        .pipe(gulp.dest('./styles/'))
        .pipe(cssmin())
        .pipe(rename({
            suffix: '.min'
        }))
        .pipe(gulp.dest('./styles'))

});

gulp.task('default', ['less', 'watch']);
Run Code Online (Sandbox Code Playgroud)