zoukankan      html  css  js  c++  java
  • gulp之几个常用插件介绍

         今天给大家分享一篇gulp几款插件的使用

       以下代码用到得模块加载‘

     

    1 const gulp=require("gulp");
    2 const gulpSass=require("gulp-sass");
    3 const gulpAutoprefixer=require("gulp-autoprefixer");
    4 const gulpCssmin=require("gulp-cssmin");
    5 const gulpBabel=require("gulp-babel");
    6 const gulpUglify=require("gulp-uglify");
    7 const gulpHtmlmin=require("gulp-htmlmin");
    8 const gulpWebserver=require("gulp-webserver")

       1、将sass或者scss文件添加上内核转成我们使用的css文件

     1 gulp.task("getCss",()=>{
     2     return gulp.src("./src/scss/*.{scss,sass}")
     3     .pipe(
     4         //将scss编译成css的函数
     5         gulpSass()
     6     )
     7     .pipe(
     8         //添加内核
     9         gulpAutoprefixer({
    10             browsers: ['last 2 versions'],
    11             cascade: false
    12         })
    13     )
    14     .pipe(
    15         gulp.dest("./src/css/")
    16     )
    17 })

     2、压缩css

    1 gulp.task("minCss",()=>{
    2     return gulp.src("./src/css/*.css")
    3     .pipe(
    4         gulpCssmin()
    5     )
    6     .pipe(
    7         gulp.dest("./dist/css/")
    8     )
    9 })

    3、js压缩

    gulp.task("minJS",()=>{
        return gulp.src("./src/js/*.js")
        .pipe(
            gulpBabel()
        )
        .pipe(
            gulpUglify()
        )
        .pipe(
            gulp.dest("./dist/js/")
        )
    })
    //注意gulp-babel这款插件是对es6转成es5语法 因为es6不能直接压缩 然后需要配置一个.babelrc文件 里面是{"presets": ["@babel/preset-env"]}
     
    4、压缩html
     1 gulp.task("htmlmin",()=>{
     2     return gulp.src("./src/index.html")
     3     .pipe(
     4         gulpHtmlmin({
     5             collapseWhitespace: true,
     6             minifyJS:true,//压缩页面js
     7             minifyCSS:true//压缩页面css
     8         })
     9     )
    10     .pipe(
    11         gulp.dest("./dist/")
    12     )
    13 })

    5、起服务

     1 gulp.task("server",()=>{
     2     return gulp.src("./src")
     3     .pipe(
     4         gulpWebserver({
     5             host:"localhost",
     6             port:8000,
     7             // middleware:[static,router],
     8             //设置一个代理
     9             proxies:[
    10                 {
    11                     source:"/api/aa",
    12                     target:"http://localhost:3000/api/aa"
    13                 }
    14             ]
    15             
    16         })
    17     )
    18 })

    这里使用了代理模式的服务 还有很多可以去官网看看

    7、

    1 gulp.parallel()//并行运行任务 同时
    2 gulp.series();//运行任务序列 按顺序
    3 gulp.task("dev",gulp.parallel("任务一","任务二"))
    4 如果任务三必须在任务一之后运行 语法如下
    5 gulp.task("dev",gulp.parallel(gulp.series("任务一","任务三"),"任务二"))

    8、总结

    gulp.src
    导入文件

    gulp.task
    定义任务
    gulp tasknamg

    gulp.dest
    输出

    gulp.watch
    监听文件变化

    gulp.parallel
    设置并行任务

    gulp.series
    设置顺序任务

    -----------------------
    gulp 自动化构建任务的工具
    babel babel是一个js的编译器

    ---------------------------
    使用插件
    1.下载插件 (全局安装下载一次)
    2.引入插件
    3.调用插件

    1.编译scss gulp-sass
    2.添加浏览器内核 gulp-autoprefixer
    3.压缩js gulp-uglify
    4.js语法转换 gulp-babel .babelrc配置 presets字段设置语法转换规则 @babel/preset-env
    5.压缩 gulp-hmtlmin
    6.压缩css gulp-cssmin
    7.起服务 gulp-webserver
    8.压缩图片 gulp-imagemin

    一条不甘于平凡的咸鱼分享
  • 相关阅读:
    Atitit  基于meta的orm,提升加速数据库相关应用的开发
    Atitit机器学习原理与概论book attilax总结
    Atitti 文本分类  以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案
    Atitit 贝叶斯算法的原理以及垃圾邮件分类的原理
    Atiti  qq空间破解(3)------------gui图形化通用cli执行器atiuse
    Atitit dsl对于数组的处理以及main函数的参数赋值
    Atitit main函数的ast分析  数组参数调用的ast astview解析
    Atiti 重定向标准输出到字符串转接口adapter stream流体系 以及 重定向到字符串
    Atititcmd cli环境变量的调用设置与使用
    如何有效使用Project(2)——进度计划的执行与监控
  • 原文地址:https://www.cnblogs.com/cq1715584439/p/10778730.html
Copyright © 2011-2022 走看看