2016-11-29 140 views
2

我目前只有gulp工作,但需要在任何更新完成之前对文件进行更改。有没有办法运行构建任务,然后观察变化?如何在执行时运行gulp任务

这是我一饮而尽文件:

var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var browserify = require('browserify'); 
var babelify = require('babelify'); 
var source = require('vinyl-source-stream'); 
var buffer = require('vinyl-buffer'); 


gulp.task('styles', function() { 
    gulp.src('sass/**/*.scss') 
     .pipe(sass().on('error', sass.logError)) 
     .pipe(gulp.dest('css/')); 
}); 

gulp.task('scripts', function() { 
    browserify('js/main.js') 
     .transform(babelify,{presets: ["es2015", "react"]}) 
     .bundle() 
     .pipe(source('bundle.js')) 
     .pipe(gulp.dest('.')) 
     .pipe(buffer()) 
}); 

gulp.task('default', function() { 
    gulp.watch('sass/**/*.scss',['styles']); 
    gulp.watch('js/*.js',['scripts']); 
}); 

回答

1

加入他们,是你的task之前运行的相关任务。

gulp.task('default', ['styles', 'scripts'], function() { 
    gulp.watch('sass/**/*.scss',['styles']); 
    gulp.watch('js/*.js',['scripts']); 
}); 

任务'styles'然后'scripts'将运行,然后'default'回调函数将被解雇调用两个gulp.watch()声明。

+0

谢谢!完美工作。想知道你是否知道如何处理javascript缓存?每当我对js文件进行更改时,所有内容都完美无缺,但在看到任何更改之前,我必须刷新几次(或清除缓存)。 – Dileet