利用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,保证启动代码一致。