使用browser-sync
進行本地開發自動刷新,配合gulp-uglify
、gulp-minify-css
對js和css進行壓縮處理,最終打包到dist
目錄
npm install gulp npm install --save-dev ...
npm install --save-dev gulp gulp-clean run-sequence browser-sync gulp-uglify gulp-minify-css
var gulp = require('gulp'), //本地安裝gulp所用到的地方 clean = require('gulp-clean'), runSequence = require('run-sequence'); // 同步執行任務 var browserSync = require('browser-sync'); var uglify = require("gulp-uglify"); //獲取gulp-ublify組件 var minifyCSS = require('gulp-minify-css'); var reload = browserSync.reload; gulp.task('devServer', function () { browserSync({ notify: false, // 是否開啓瀏覽器提示 port: 9000, // 端口 server: { baseDir: ['src'] } }); gulp.watch('./src/*.html', reload); //監聽html目錄下全部文件 }); //清楚dist目錄下全部文件 gulp.task('clean', function () { return gulp.src('./dist/', { read: false }) .pipe(clean()); }); //定義html任務 gulp.task('move-html', function () { gulp.src("./src/*.html") //找到src文件夾下的全部html .pipe(gulp.dest("./dist")) //壓縮完成後的文件另存到dist/目錄下 }); gulp.task("move-script", function () { gulp.src("./src/js/*.js") //找到js文件夾下的全部js .pipe(uglify()) //壓縮文件 .pipe(gulp.dest("dist/js")) //壓縮完成後的文件另存到dist/js/目錄下 }); gulp.task("move-style", function () { gulp.src("./src/css/*.css") //找到css文件夾下的全部css .pipe(minifyCSS()) //壓縮文件 .pipe(gulp.dest("dist/css")) //壓縮完成後的文件另存到dist/css/目錄下 }); //定義看守任務 gulp.task('watch', function () { // gulp.watch('public/*.html').on('change', reload); gulp.watch('./src/*.html', reload); //監聽html目錄下全部文件 }); gulp.task('move', ['move-style', 'move-script', 'move-html']); // release gulp.task('build', function (cb) { runSequence( 'clean', // 第一步:清理目標目錄 'move', // 第二步:打包 cb ); }); // dev gulp.task('default', ['devServer']);
gulp default
css
gulp build
html