JS中使用gulp實現(xiàn)壓縮文件及瀏覽器熱加載功能
gulp類似于grunt,都是基于Node.js的前端構建工具。不過gulp壓縮效率更高。
一.安裝gulp
首先,你要安裝過nodejs,如果沒有安裝過的同學請自行下載。 先再命令行里輸入 npm install gulp -g
下載gulp
二.創(chuàng)建gulp項目
創(chuàng)建一個你需要項目文件夾,然后在根目錄輸入 npm init
(npm init命令會為你創(chuàng)建一個package.json文件,這個文件保存著這個項目相關信息。比如你用到的各種依賴)
三.使用npm install 安裝各種依賴
例:
npm install browser-sync--save-dev
這里總共用到了這些依賴,請自行下載 具體各自都有什么用 后面會具體介紹。
四.編寫gulpfile.js
首先,聲明這些依賴
然后我們就要開始最重要的工作了,配置這些依賴
1.配置壓縮css
2.配置壓縮js
3.配置壓縮img
4.配置html,這里沒有進行壓縮,感覺沒有壓縮的必要 (純屬見仁見智)
5.配置清楚文件,因為每次打包都會生成新文件 所以在這之前要把之前的文件給清除掉
6.配置瀏覽器熱加載
7.配置打包
這里的runSequence是指能同時執(zhí)行多個命令
8.設置gulp啟動時執(zhí)行哪些配置
最后放上全部代碼 供大家參考
var gulp = require('gulp'); var sass = require('gulp-sass'); var browserSync = require('browser-sync'); var uglify = require('gulp-uglify'); var imagemin = require('gulp-imagemin'); var minifyCSS = require('gulp-minify-css'); var cache = require('gulp-cache'); var del = require('del'); var runSequence = require('run-sequence'); var minifyHtml= require("gulp-minify-html"); gulp.task('sass', function(){ //打包sass return gulp.src('app/scss/**/*.scss') .pipe(sass()) // Converts Sass to CSS with gulp-sass .pipe(gulp.dest('app/css')) .pipe(browserSync.reload({ stream: true })) }); gulp.task('js',function() { gulp.src('app/**/*.js') .pipe(uglify())//壓縮 .pipe(gulp.dest('dist')); }); gulp.task('css', function () { gulp.src('app/css/*.css') .pipe(minifyCSS()) .pipe(gulp.dest('dist/css')) }) gulp.task('minify-html',function() { gulp.src('app/**/*.html')//要壓縮的html文件 .pipe(gulp.dest('dist')); }); gulp.task('images', function(){ return gulp.src('app/images/**/*.+(png|jpg|jpeg|gif|svg)') // Caching images that ran through imagemin .pipe(cache(imagemin({ interlaced: true }))) .pipe(gulp.dest('dist/images')) }); gulp.task('clean', function(callback) { del('dist'); return cache.clearAll(callback); }); gulp.task('watch',['browserSync', 'sass'],function(){ //我們可以在watch任務之前告知Gulp,先把browserSync和Sass任務執(zhí)行了再說。 gulp.watch('app/scss/**/*.scss', ['sass']); gulp.watch('app/*.html', browserSync.reload); gulp.watch('app/js/**/*.js', browserSync.reload); // Other watchers }); gulp.task('browserSync', function() { //瀏覽器熱加載 browserSync({ server: { baseDir: 'app' }, }) }); gulp.task('build', function (callback) { runSequence('clean',['minify-html','js','images','css'],callback) }); gulp.task('default', function (callback) { runSequence(['sass','browserSync', 'watch'], callback ) });
以上所述是小編給大家介紹的JS中使用gulp實現(xiàn)壓縮文件及瀏覽器熱加載功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
詳解小程序中h5頁面onShow實現(xiàn)及跨頁面通信方案
這篇文章主要介紹了小程序中h5頁面onShow實現(xiàn)及跨頁面通信方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05使用VSCode調(diào)試Electron主進程的方法步驟
本文主要介紹了使用VSCode調(diào)試Electron主進程的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01詳解在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導入)
這篇文章主要介紹了在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導入),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07Express無法通過req.body獲取請求傳遞的數(shù)據(jù)解決方法
這篇文章主要為大家介紹了Express無法通過req.body獲取請求傳遞的數(shù)據(jù)解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12刪除javascript所創(chuàng)建子節(jié)點的方法
這篇文章主要介紹了刪除javascript所創(chuàng)建子節(jié)點的方法,涉及javascript針對頁面節(jié)點元素的操作技巧,需要的朋友可以參考下2015-05-05