JS中使用gulp实现压缩文件及浏览器热加载功能

gulp类似于grunt,都是基于Node.js的前端构建工具。不过gulp压缩效率更高。

一.安装gulp

  首先,你要安装过nodejs,如果没有安装过的同学请自行下载。 先再命令行里输入 npm install gulp -g 下载gulp

二.创建gulp项目

  创建一个你需要项目文件夹,然后在根目录输入 npm init (npm init命令会为你创建一个package.json文件,这个文件保存着这个项目相关信息。比如你用到的各种依赖)

三.使用npm install 安装各种依赖

  例:

rush:js;"> npm install browser-sync--save-dev

  这里总共用到了这些依赖,请自行下载 具体各自都有什么用 后面会具体介绍。

四.编写gulpfile.js

  首先,声明这些依赖

  然后我们就要开始最重要的工作了,配置这些依赖

  1.配置压缩css

imsun; white-space: normal; word-spacing: 0px; text-transform: none; float: none; font-weight: normal; color: rgb(0,0); font-style: normal; orphans: 2; widows: 2; display: inline !important; letter-spacing: normal; text-indent: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px"> 

  2.配置压缩js

  3.配置压缩img

  4.配置html,这里没有进行压缩,感觉没有压缩的必要 (纯属见仁见智)

  5.配置清楚文件,因为每次打包都会生成文件 所以在这之前要把之前的文件给清除掉

  6.配置浏览器热加载

  7.配置打包

  这里的runSequence是指能同时执行多个命令

  8.设置gulp启动时执行哪些配置

  最后放上全部代码 供大家参考

rush:js;"> 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任务执行了再说。 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实现压缩文件及浏览器热加载功能。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...