利用gulp进行文件压缩,文件编译,监听以及最后的部署。直接上代码

var gulp = require('gulp'),
 	uglify = require('gulp-uglify'),
	rename = require('gulp-rename'),
	sourcemaps = require('gulp-sourcemaps'),
	stripDebug = require('gulp-strip-debug'), //删除debug代码
	babel = require('gulp-babel'),
	watch = require('gulp-watch'),
	sftp = require('gulp-sftp'),
	config = require('./config.json');
//拿监听js文件举例
gulp.task('watcherjs',function(){
	gulp.watch('./js/*.js',function(event){
		console.log('File'+event.path+'was'+event.type+',running...')
		gulp.src(event.path)
		.pipe(uglify())
		.pipe(stripDebug())//消注释
		.pipe(rename({suffix: '.min'}))//min后缀
		.pipe(gulp.dest('./toUpload/js'))
		.pipe(gulp.dest('./js/dist'))
	})
})

这里toUpload文件夹,存放有改动的js文件,以便统一部署到服务器。watcher监听改变的文件并进行压缩取消注释处理保存到dist以及toUpload两个文件夹下。之后可以在本地进行下测试,如果没有问题则利用gulp-sftp上传ftp。

gulp.task('js',function(){
	return gulp.src('./toUpload/js/*.js')
		.pipe(sftp({
			host:config.sftp.host,
			user:config.sftp.user,
			port:config.sftp.port,
			pass:config.sftp.pass,
			remotePath:config.sftp.remotePath.jsPath
		}))
})

拿到之前保存在toUpload下的新改动的js文件,并上传到ftp,具体(host,user..)写在config.json中,以便重用。
可在package.json里配置npm启动gulp,保证启动代码一致。

posted on 2017-03-04 20:37  sxy宇  阅读(131)  评论(0编辑  收藏  举报