gulp.dest() 是把流中的內容寫入到文件中 還有一個很重要的api gulp.watch()
gulp.src('res/src.js') .pipe(gulp.dest('dist/dist.js'))
gulp.src(globs,[options]) 獲取須要操做的文件 globs是文件匹配模式(相似正則表達式)css
注意:html
gulp.src(script/lib/*.js) //沒有配置base參數,此時默認的base路徑爲script/lib //假設匹配到的文件爲script/lib/jquery.js .pipe(gulp.dest('build')) //生成的文件路徑爲 build/jquery.js gulp.src(script/lib/*.js, {base:'script'}) //配置了base參數,此時base路徑爲script //假設匹配到的文件爲script/lib/jquery.js .pipe(gulp.dest('build')) //此時生成的文件路徑爲 build/lib/jquery.js 用gulp.dest()把文件流寫入文件後,文件流仍然能夠繼續使用。
opts: 可選的配置對象,通常不用node
tasks [Array] 監測到文件變化時,要執行的任務 */jquery
gulp.task('uglify',function(){ //do something }); gulp.task('reload',function(){ //do something }); gulp.watch('js/**/*.js', ['uglify','reload']);
gulp.watch('js/**/*.js', function(event){ console.log(event.type); //變化類型 added爲新增,deleted爲刪除,changed爲改變 console.log(event.path); //變化的文件的路徑 });
var gulp = require('gulp'); //加載gulp-load-plugins插件,並立刻運行它 var $ = require('gulp-load-plugins')();而後就能夠$.concat和$.connect來代替了,也就是原始插件名去掉gulp-前綴,以後再轉換爲駝峯命名。
var gulp = require('gulp'); gulp.task('copy-html',function(){ return gulp.src('index.html') .pipe(gulp.dest('dist')) }) gulp.task('cp-imgs',function(){ //return gulp.src('res/imgs/*.{css,jpg}')// 複製多個後綴名的文件類型 return gulp.src(['res/imgs/*.{css,jpg}']) .pipe(gulp.dest('dist')) }) //組合任務 gulp.task('default',['copy-html','copy-imgs'],function(){ console.log('所有拷貝任務執行完畢!'); }); //------------------- gulp.task('f1',function(){ console.log('111111!'); }); gulp.task('f2',function(){ console.log('2222222!'); }); gulp.task('watch',function(){ gulp.watch('index.html',['f1','f2']); }) //-> 每一次監聽到index.html的變化以後,都會執行 f1和f2 //======== var less = require('gulp-less'); gulp.task('trsless',function(){ return gulp.src('res/less.less') .pipe(less())// 讓less執行,用less模塊來處理這個流 .pipe(gulp.dest('dist')); }) //------------ var connect = require('gulp-connect'); gulp.task('server',function(){ connect.server({ root:'dist',//服務器的根目錄 port:8080 //服務器的地址,沒有此配置項默認也是 8080 }); }); //++++++++文件變化時,瀏覽器自動刷新++++++++++++ gulp.task('copy-html',function(){ gulp.src('app/index.html')//指定源文件 .pipe(gulp.dest('dist'))//拷貝到dist目錄 .pipe(connect.reload());//通知瀏覽器重啓 }); gulp.task('watch',function(){ gulp.watch('app/index.html',['copy-html']);//當index.html文件變化時執行copy-html任務 }); gulp.task('server',function(){ connect.server({ root:'dist',//服務器的根目錄 port:8080, //服務器的地址,沒有此配置項默認也是 8080 livereload:true//啓用實時刷新的功能 }); }); gulp.task('default',['server','watch']);//運行此任務的時候會在8080上啓動服務器,