zoukankan      html  css  js  c++  java
  • 前端小白的gulp入门

    gulp新手入门

    全局安装 cnpm install -g gulp

    本地安装 cnpm install gulp -D 如果项目没有package.json,记得npm init

    安装插件cnpm install gulp-插件名 -D

    插件官方文档

    细心的科普

    //i  -->install
    //D  -->--save-dev  记录package.json文件里
    //S  -->--save       本地安装
    
    • gulp报低级错误
      • 删除node_modules在安装
      • rm -rf node_modules
      • cnpm i

    先新建一个任务清单

    新建gulpfile.js文件

    插件

    gulp-less 编译LESS文件

    gulp-autoprefixer 添加CSS私有前缀

    gulp-cssmin 压缩CSS

    gulp-rname重命名

    gulp-imagemin 图片压缩

    gulp-uglify 压缩Javascript

    gulp-concat 合并

    gulp-htmlmin 压缩HTML

    gulp-rev 添加版本号   //md5文件加密

    gulp-rev-collector 内容替换

    不上代码怎么行呢?不然还是会摸不到北

    //引用本地安装的gulp
    var gulp = require("gulp");
    var less = require("gulp-less");    //less转化
    var cssmin = require("gulp-cssmin");   //压缩css
    var imagemin = require("gulp-imagemin"); //压缩图片
    var uglify = require("gulp-uglify");    //资源合并
    var concat = require("gulp-concat");   //合并
    var htmlmin = require("gulp-htmlmin");  //压缩html
    var minify = require('html-minifier').minify; //注释清除插件
    var postcss=require("gulp-postcss");   //加私有前缀
    var autoprefixer=require("gulp-autoprefixer");
    var rev = require("gulp-rev");  //添加版本号
    var revCollector=require("gulp-rev-collector");  //文本替换
    //定义任务
    gulp.task("less", function () {
        //借助gulp.src来指定less文件位置
        gulp.src("./less/*.less")
        //借助gulp
            .pipe(less())
            .pipe(cssmin())
            .pipe(autoprefixer())
            .pipe(rev())   //生成的文件名添加md5   垃圾回收
            //通过gulp.dest进行存储
            .pipe(gulp.dest("./release/piblic"))
            .pipe(rev.manifest())    //记录css改名记录  是这个插件gulp-rev-collector
            .pipe(gulp.dest("./release/rev"))
    })
    //压缩图片  命令 gulp image
    gulp.task("image", function () {
        gulp.src("./images/*")
            .pipe(imagemin())
            .pipe(gulp.dest("./imagemin"))
    })
    //压缩js  命令gulp js
    gulp.task("js", function () {
        gulp.src("./scripts/*.js")
            .pipe(concat("all.js"))//合并的文件记得写名字
            .pipe(uglify())
            .pipe(gulp.dest("./bbb"))
    })
    //压缩html   命令 gulp html    //注意单词别写错了哟
    //这个还是看官方文档吧,很清晰
    gulp.task("html", function () {
        gulp.src(['./index.html', './views/*.html'],{base:'./'}) 
        //可以写多个文件 {base:"./"}就是./是不动的,相当于忽略掉
            .pipe(htmlmin({collapseWhitespace: true, removeComments: true,minifyJS:true}))
            //这个看文档哦 minifyJS:true压缩html中的js
            .pipe(gulp.dest("./aaa"))
    })
    // 替换   这个要注意文件的路径哟   其实就是替换html中的css路径,因为
    //   当你把css的文件名改的就需要改html的文件路径,是不是有点罗嗦
    // 记得要使用哪个插件一定提前下载,不然报错你也会一脸懵逼
    gulp.task("rev",function () {
        gulp.src(["./release/rev/*.json","./release/*.html"],{base:"./release"})
            .pipe(revCollector())
            .pipe(gulp.dest("./release"))
    })
    
    //html中的js改名替换我还没弄出来
    

    看到官网有3000多个插件,差点吓我一跳,需要多查文挡,多百度哟

  • 相关阅读:
    [iOS]swift版内购
    [iOS]UIScrollView左右拨动,第二页宽度只有一半问题
    [iOS]UIScrollView嵌套内容在左右拨动的时候自动被顶上问题
    [Android]RecyclerView添加HeaderView出现宽度问题
    [iOS]swift之UITableView添加通过xib创建的headerView坑爹问题
    [iOS]隐藏导航栏把右滑退出操作保留
    [iOS]使用autolayout的时候会有明明设置和父视图左右间距为0但却还有空隙问题
    [iOS]改变状态栏颜色
    [iOS]UIScrollView嵌套UITableView,超出屏幕的cell点击不了问题
    sublime text 3快速生成html头部信息
  • 原文地址:https://www.cnblogs.com/fangdongdemao/p/8470047.html
Copyright © 2011-2022 走看看