运行Gulp任务时,它似乎无法识别它创建的文件

时间:2014-06-12 18:19:07

标签: gulp

我的Gulp文件中有两个任务:

  1. 默认使用LESS将一堆文件与注释和源映射合并在一起。
  2. 准备抓取#1生成的CSS文件并清理/压缩它。
  3. 我告诉Gulp,任务#2需要任务#1。

    当我运行任务#2时,将为任务#1创建文件,但不应为任务#2创建的文件。如果我再次运行任务#2,则会创建任务#2的文件。

    我认为Gulp正在使用某种缓存,并且因为当Gulp第一次运行时文件不存在,所以它没有找到它们,因此没有对它们做任何事情。

    我试过四处寻找无济于事。任何想法或建议都会很棒!

    var gulp = require('gulp'),
        less = require('gulp-less'),
        csso = require('gulp-csso');
    
    gulp.task( 'default', ['styles-dev'], function() {} );
    gulp.task( 'prepare', ['minify-css'], function() {} )
    
    gulp.task('styles-dev', function() {
      gulp
        .src("source/styles/global*.less")
        .pipe( less({
          sourceMap: true
        }) )
        .pipe( gulp.dest("build/local/styles") )
    });
    
    gulp.task('minify-css', ['styles-dev'], function() {
      gulp.src('build/local/styles/*.css')
        .pipe(csso())
        .pipe(gulp.dest('build/pre/styles'))
    });
    

2 个答案:

答案 0 :(得分:1)

gulp.task('styles-dev', function() {
  return gulp
    .src("source/styles/global*.less")
    .pipe( less({
      sourceMap: true
    }) )
    .pipe( gulp.dest("build/local/styles") )
});

看起来我需要将流作为"提示"任务完成了。如果提问可以帮助您找到答案,那真是太神奇了......

答案 1 :(得分:0)

var gulp = require('gulp'),
    less = require('gulp-less'),
    csso = require('gulp-csso');

gulp.task( 'default', ['css']);

gulp.task('css', function() {
  return gulp.src("source/styles/global*.less")
    .pipe( less({
      sourceMap: true
    }) )
    .pipe(gulp.dest("build/local/styles"))
    .pipe(csso())
    .pipe(gulp.dest('build/pre/styles'));
});