Gulp

gulp能干什么

  • 项目上线,HTML、CSS、JS文件压缩合并
  • 语法转换(es6、less …)
  • 公共文件抽离
  • 修改文件浏览器自动刷新

gulp的使用

1.使用npm install gulp下载gulp库文件

2.在项目根目录下建立gulpfile.js文件

3.重构项目的文件夹结构 src目录放置源代码文件 dist目录放置构建后文件

4.在gulpfile.js文件中编写任务.

5.在命令行工具中执行gulp任务

gulpfile.js:

// 导入gulp
const gulp = require('gulp')
// 建立gulp任务
// 参数
// 1.任务名称
// 2.回调函数
gulp.task('first', () => {
    // 要处理的文件
    gulp.src('./src/css/base.css')
        // 输出的路径
        .pipe(gulp.dest('./dist/css'))
})

命令行工具中执行gulp任务: gulp first (下载gulp-cli)

gulp中的方法

  • gulp.src():获取任务要处理的文件
  • gulp.dest():输出文件
  • gulp.task():建立gulp任务
  • gulp.watch():监控文件的变化

gulp插件

  • gulp-htmlmin :html文件压缩
  • gulp-csso :压缩css
  • gulp-babel :JavaScript语法转化
  • gulp-less: less语法转化
  • gulp-uglify :压缩混淆JavaScript
  • gulp-file-include 公共文件包含
  • browsersync 浏览器实时同步

html公共部分抽离压缩

//导入htmlmin
const htmlmin = require('gulp-htmlmin');
// 导入include-file
const include_file = require('gulp-include-file');
// 创建任务
gulp.task('htmlmin', () => {
    gulp.src('./src/*.html')
        .pipe(include_file())
        // 进行压缩
        .pipe(htmlmin({ collapseWhitespace: true }))
        .pipe(gulp.dest('./dist'))
})

在html中引入公共部分代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQGuP1X7-1610249381722)(C:\Users\hyy\AppData\Roaming\Typora\typora-user-images\1609918300518.png)]

less语法转换、less文件和css文件压缩

// 导入gulp-less
const less = require('gulp-less');
// 导入gulp-csso
const csso = require('gulp-csso');
// 创建任务
gulp.task('cssmin', () => {
    gulp.src(['./src/css/*.less','./src/css/*.css'])
        // less语法转换
        .pipe(less())
        // css文件压缩
        .pipe(csso())
        .pipe(gulp.dest('./dist/css'))
})

JavaScript语法转化和压缩

// 导入JavaScript语法转化gulp-babel
const babel = require('gulp-babel');
// 导入JavaScript压缩插件gulp-uglify
const uglify = require('gulp-uglify');
// 创建任务
gulp.task('jsmin', () => {
    gulp.src('./src/js/*.js')
        // JavaScript语法转化
        .pipe(babel({
            presets: ['@babel/env']
        }))
        // JavaScript压缩
        .pipe(uglify())
    .pipe(gulp.dest('./dist/js'))
})

构建任务

// 构建任务
gulp.task('default', gulp.parallel('htmlmin', 'cssmin', 'jsmin', 'copy', () => {}) );

命令行工具中执行gulp任务: gulp default 或gulp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值