日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gulp配置实现修改js、css、html自动刷新

發布時間:2023/12/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gulp配置实现修改js、css、html自动刷新 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面:

本配置支持es6、less、react

1.首先

給出初始的目錄結構

給出執行gulp后的目錄結構

給出執行gulp --p后的目錄結構

2.package.json里是一個寫入。文件描述了npm包的相關配置信息(作者、簡介、包依賴等)和所需模塊。

{"name": "gruntTest", "version": "1.0.0","description": "","main": "Gulpfile.js" }

3.Gulpfile.js添加要執行的任務

var gulp = require('gulp'); var uglify = require('gulp-uglify'); //js壓縮 var concat = require('gulp-concat'); //合并文件 var minifyCSS = require('gulp-minify-css'); //css壓縮 var less = require('gulp-less'); //less var changedInPlace = require('gulp-changed-in-place');//不管修改哪個文件,gulp會簡化DEST里的html文件 var minifyHTML = require('gulp-htmlmin'); //簡化html var browserSync = require('browser-sync').create(); //自動刷新 var babel = require('gulp-babel'); //支持es6 var argv = require('yargs').argv; //支持不同環境 var sequence = require('gulp-sequence'); //按照順序執行 var watch = require('watch'); //監聽 var clean = require('gulp-clean'); //監聽 //npm install --save-dev gulp-babel babel-preset-es2015 var DEST = 'dest/'; var HTML_PATH = './src/*.html';gulp.task('minify-js', function(){if(argv.p){gulp.src('src/source/*.js').pipe(babel({presets: ['es2015','react']})).pipe(uglify()).pipe(concat('gruntTest.min.js')).pipe(gulp.dest(DEST+'js'))}else{gulp.src('src/source/*.js').pipe(babel({presets: ['es2015','react']})).pipe(uglify()).pipe(concat('gruntTest.min.js')).pipe(gulp.dest('src/js')) } }); gulp.task('minify-css', function(){if(argv.p){gulp.src('src/less/*.less') //或者用['src/less/p1.less','src/less/p2.less'].pipe(less()).pipe(minifyCSS()).pipe(concat('style.min.css')).pipe(gulp.dest(DEST+'css')).pipe(browserSync.stream()); }else{gulp.src('src/less/*.less') //或者用['src/less/p1.less','src/less/p2.less'].pipe(less()).pipe(minifyCSS()).pipe(concat('style.min.css')).pipe(gulp.dest('src/css')).pipe(browserSync.stream());} }); gulp.task('minify-html', function(){gulp.src(HTML_PATH).pipe(changedInPlace({firstPass: true})).pipe(minifyHTML({collapseWhitespace: true})).pipe(gulp.dest(DEST)).pipe(browserSync.stream()); }); gulp.task('clean', function () {gulp.src(['./src/css/*.css','./src/js/*.js'], {read: false}).pipe(clean()); }); var files = ['./src/css/*.css','./src/js/*.js' ]; gulp.task('browser-sync', function(){browserSync.init(files,{server: {baseDir: './'},port: 9999}); }); gulp.task('watch', function() {gulp.watch('./src/source/*.js',['minify-js']);gulp.watch('./src/less/*.less',['minify-css']); }); if(argv.p){//productgulp.task('default', sequence('minify-js','minify-css','minify-html','browser-sync')); }else{//developgulp.task('default', sequence('clean','minify-js','minify-css','watch','browser-sync')); }

4.擴展

(1)上面一堆require看著好煩人,也很龐大。此處可以引入“gulp-load-plugins”插件

var gulpLoadPlugins = require('gulp-load-plugins'),plugins = gulpLoadPlugins();plugins.uglify();即可執行相應任務

(2)若某個文件夾下好多文件,那么watch監聽時需要一一列舉,可以目錄寫成json格式(例如src.source.*.js)。通過引入“fs”插件,用fs.freaddirSync()方法去讀路徑。循環即可,此處的實現純屬寫js代碼。

?

  

  

轉載于:https://www.cnblogs.com/lixuemin/p/5611690.html

總結

以上是生活随笔為你收集整理的gulp配置实现修改js、css、html自动刷新的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。