gulpfile php,如何实现使用gulp实现文件压缩及浏览器的热加载

一.安装gulp

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

二.创建gulp项目

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

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

例:npm install browser-sync--save-dev

8ceccf957332e433f808f7789f7a2e12.png

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

四.编写gulpfile.js

首先,声明这些依赖

922bf3e766a82a8e2ac82a284caa3b06.png

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

1.配置压缩css

89a8db8d2b2b4574aa0a4cb8b8457bef.png

2.配置压缩js

7d9cc603d8d0901ba24448f5de0be4d9.png

3.配置压缩img

04fbe5b9e652f8923cf908591ec5246e.png

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

b055c531849b15e0cef67e900297a948.png

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

84a0331cad80f654ecafd4ed7078d112.png

6.配置浏览器热加载

7955e238f71409c144749570d757d6e3.png

7.配置打包

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

3944c89fc14c4aabcf3371a7a0e7b029.png

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

1f5ea574103a023d684583cf6f638332.png

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

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

)

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值