欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中使用gulp實(shí)現(xiàn)壓縮文件及瀏覽器熱加載功能

 更新時(shí)間:2017年07月12日 09:13:56   作者:自足  
這篇文章主要介紹了JS中使用gulp實(shí)現(xiàn)壓縮文件及瀏覽器熱加載功能,需要的朋友可以參考下

gulp類似于grunt,都是基于Node.js的前端構(gòu)建工具。不過gulp壓縮效率更高。

一.安裝gulp

  首先,你要安裝過nodejs,如果沒有安裝過的同學(xué)請自行下載。  先再命令行里輸入   npm install gulp -g   下載gulp

二.創(chuàng)建gulp項(xiàng)目

  創(chuàng)建一個(gè)你需要項(xiàng)目文件夾,然后在根目錄輸入  npm init  (npm init命令會(huì)為你創(chuàng)建一個(gè)package.json文件,這個(gè)文件保存著這個(gè)項(xiàng)目相關(guān)信息。比如你用到的各種依賴)

三.使用npm install 安裝各種依賴

  例:

npm install browser-sync--save-dev

  這里總共用到了這些依賴,請自行下載   具體各自都有什么用 后面會(huì)具體介紹。

四.編寫gulpfile.js

  首先,聲明這些依賴

  然后我們就要開始最重要的工作了,配置這些依賴

  1.配置壓縮css

 

  2.配置壓縮js

  3.配置壓縮img

  4.配置html,這里沒有進(jìn)行壓縮,感覺沒有壓縮的必要 (純屬見仁見智)

  5.配置清楚文件,因?yàn)槊看未虬紩?huì)生成新文件  所以在這之前要把之前的文件給清除掉

  6.配置瀏覽器熱加載

  7.配置打包  

  這里的runSequence是指能同時(shí)執(zhí)行多個(gè)命令

  8.設(shè)置gulp啟動(dòng)時(shí)執(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任務(wù)之前告知Gulp,先把browserSync和Sass任務(wù)執(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實(shí)現(xiàn)壓縮文件及瀏覽器熱加載功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解小程序中h5頁面onShow實(shí)現(xiàn)及跨頁面通信方案

    詳解小程序中h5頁面onShow實(shí)現(xiàn)及跨頁面通信方案

    這篇文章主要介紹了小程序中h5頁面onShow實(shí)現(xiàn)及跨頁面通信方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 使用VSCode調(diào)試Electron主進(jìn)程的方法步驟

    使用VSCode調(diào)試Electron主進(jìn)程的方法步驟

    本文主要介紹了使用VSCode調(diào)試Electron主進(jìn)程的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導(dǎo)入)

    詳解在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導(dǎo)入)

    這篇文章主要介紹了在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導(dǎo)入),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Object.defineproperty方法示例詳解

    Object.defineproperty方法示例詳解

    Object.defineproperty?的作用就是直接在一個(gè)對象上定義一個(gè)新屬性,或者修改一個(gè)已經(jīng)存在的屬性,這篇文章主要介紹了Object.defineproperty方法,需要的朋友可以參考下
    2022-12-12
  • 通過js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例

    通過js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例

    下面小編就為大家?guī)硪黄ㄟ^js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 前端BOM操作常用命令詳解及代碼案例

    前端BOM操作常用命令詳解及代碼案例

    瀏覽器對象模型(BOM)是瀏覽器提供的JavaScript操作瀏覽器的API,提供了與網(wǎng)頁無關(guān)的瀏覽器功能對象,這篇文章主要給大家介紹了關(guān)于前端BOM操作常用命令詳解及代碼案例的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • Express無法通過req.body獲取請求傳遞的數(shù)據(jù)解決方法

    Express無法通過req.body獲取請求傳遞的數(shù)據(jù)解決方法

    這篇文章主要為大家介紹了Express無法通過req.body獲取請求傳遞的數(shù)據(jù)解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 刪除javascript所創(chuàng)建子節(jié)點(diǎn)的方法

    刪除javascript所創(chuàng)建子節(jié)點(diǎn)的方法

    這篇文章主要介紹了刪除javascript所創(chuàng)建子節(jié)點(diǎn)的方法,涉及javascript針對頁面節(jié)點(diǎn)元素的操作技巧,需要的朋友可以參考下
    2015-05-05
  • 解決ie img標(biāo)簽內(nèi)存泄漏的問題

    解決ie img標(biāo)簽內(nèi)存泄漏的問題

    下面小編就為大家?guī)硪黄鉀Qie img標(biāo)簽內(nèi)存泄漏的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 基于JavaScript實(shí)現(xiàn)瀏覽器添加收藏功能

    基于JavaScript實(shí)現(xiàn)瀏覽器添加收藏功能

    今天搞項(xiàng)目的時(shí)候?yàn)榱藢?shí)現(xiàn)瀏覽者實(shí)現(xiàn)添加收藏的功能,特地了解了一下相關(guān)的API,整理了一段代碼幫助大家實(shí)現(xiàn)瀏覽器添加收藏功能,感興趣的朋友跟隨小編一起看看吧
    2023-02-02

最新評論