zoukankan      html  css  js  c++  java
  • gulp.js

    const gulp = require("gulp");

    /*

    原理:

    管道机制     基于流的自动化工具

    步骤

    1、开启任务 gulp.task()  参数1:任务名称  参数2:回调函数 (任务名称的集合)

    2、输入源  gulp.src()  文件存储的路径

    3、管道   pipe   需要文件工作的一个流程

    4、输出源  gulp.dest()  文件存储的路径

    输入源           管道             输出源

    饭盆           你妈妈的嘴         你的嘴

    index.html       压缩              dist文件夹中

     */

    //文件拷贝

    //创建了一个任务copyindex

    gulp.task("copyIndex",function(){

    //找到输入源

    gulp.src("src/html/index.html")

    //通过管道给了输出源

    .pipe(gulp.dest("dist/html"))

    })

    gulp.task("copyCss",function(){

    gulp.src("src/css/*")

    .pipe(gulp.dest("dist/css"))

    })

    gulp.task("copyImg",function(){

    //src的img文件夹下面的一个或多个文件夹中的所有文件

    gulp.src("src/img/**/*")

    .pipe(gulp.dest("dist/css"))

    })

    //匹配多个属性

    gulp.task("copyImg",function(){

    //匹配src文件夹下面的img下面0个或多个文件夹下面的所有文件里面的  png文件或者jpg文件

    gulp.src("src/**/*.{png,jpg}")

    .pipe(gulp.dest("dist/css"))

    })

    //图片压缩

    //引入图片压缩的模块

    const imgMin = require("gulp-imagemin");

    //开启任务

    gulp.task("imgMin",function(){

    gulp.src("src/img/**/*")

    //在管道中压缩

    .pipe(imgMin())

    //压缩完毕后存放在dist目录下面的img文件夹下

    .pipe(gulp.dest("dist/img"))

    })

    //压缩js

    const jsMin = require("gulp-uglify");

    //开启任务

    gulp.task("jsMin",function(){

    gulp.src("src/js/**/*")

    .pipe(jsMin())

    .pipe(gulp.dest("dist/js"))

    })

    //压缩css 编译sass

    const cssMin = require("gulp-sass-china");

    gulp.task("cssMin",function(){

    gulp.src("src/sass/**/*")

    //压缩并编译

    .pipe(cssMin({

    //sass编译的样式

    outputStyle:"compressed"

    }))

    .pipe(gulp.dest("src/css"))

    })

    //监听

    gulp.task("watch",function(){

    //当sass文件夹下面的文件发送变化的时候我就去执行cssMin这个任务

    gulp.watch("src/sass/**/*",["cssMin"])

    })

    //-----------开始

    //开启服务器

    const connect = require("gulp-connect");

    //跨域处理

    const proxy = require("http-proxy-middleware");

    gulp.task("server",function(){

    connect.server({

    root:"src",

    port:8877,

    //是否更新

    livereload:true,

    //跨域处理

    middleware:function(){

    return [

    //localhost:8877/v4

    //第一个参数是请求的地址  第二个参数是将当前地址转换到哪个一个主机之上

    proxy("/v4",{

    //代理的主机头  协议域名端口

    target:"https://m.maizuo.com",

    changeOrigin:true

    }),

    proxy("/commonHeader",{

    //代理的主机头  协议域名端口

    target:"https://mapi.m.jd.com",

    changeOrigin:true

    })

    ]

    }

    })

    })

    //热更新

    gulp.task("watch-server",function(){

    //监听src下面所有的文件,当文件发生了改变以后

    gulp.watch("src/**/*",function(){

    //让服务器刷新更新所有文件

    gulp.src("src/**/*")

    .pipe(connect.reload(true))

    })

    })

    gulp.task("F5",["server","watch-server","cssMin"]);

    //----结束

    //合并文件

    const concat = require("gulp-concat");

    gulp.task("concat",function(){

    gulp.src(["src/js/js/ajax.js","src/js/js/lunbo.js"])

    .pipe(concat("abc.js"))

    .pipe(gulp.dest("dist/js"))

    })

    //ES6转ES5

    const babes = require('gulp-babel');

    const babel = require('gulp-babel');

    gulp.task('babel', () =>

        gulp.src('src/es6.js')

            .pipe(babel({

                presets: ['@babel/env']

            }))

            .pipe(gulp.dest('dist'))

    );

    gulp:

    基于流的自动化工具

    合并文件

    压缩文件

    热更新

    开启服务器

    代码转义

    ......

    node

    webpack   gulp  基于node

    node

    Node.js 的包管理器 npm,是全球最大的开源库生态系统

    1、npm是一个包

    2、npm是一个网站

    3、是一个命令

    1、全局安装gulp

    cnpm install gulp -g

    2、如果需要使用gulp的时候

    a、cnpm init    初始化仓库  

    b、局部安装gulp   cnpm install gulp --save-dev

    --save:将保存配置信息至package.json

         

                -dev:保存至package.json的devDependencies节点

                c、创建一个gulpfile.js文件   

             3、pageage.json   node_modules   gulpfile三个文件必须在同一目录

             4、运行任务

             gulp  任务名称

    const gulp = require("gulp");
    /*原理:管道机制     基于流的自动化工具
    步骤1、开启任务 gulp.task()  参数1:任务名称  参数2:回调函数 (任务名称的集合)
    2、输入源  gulp.src()  文件存储的路径
    3、管道   pipe   需要文件工作的一个流程
    4、输出源  gulp.dest()  文件存储的路径

    输入源           管道             输出源饭盆           你妈妈的嘴         你的嘴
    index.html       压缩              dist文件夹中
     */
    //文件拷贝//创建了一个任务copyindexgulp.task("copyIndex",function(){//找到输入源gulp.src("src/html/index.html")//通过管道给了输出源.pipe(gulp.dest("dist/html"))})

    gulp.task("copyCss",function(){gulp.src("src/css/*").pipe(gulp.dest("dist/css"))})

    gulp.task("copyImg",function(){//src的img文件夹下面的一个或多个文件夹中的所有文件gulp.src("src/img/**/*").pipe(gulp.dest("dist/css"))})

    //匹配多个属性gulp.task("copyImg",function(){//匹配src文件夹下面的img下面0个或多个文件夹下面的所有文件里面的  png文件或者jpg文件gulp.src("src/**/*.{png,jpg}").pipe(gulp.dest("dist/css"))})

    //图片压缩//引入图片压缩的模块const imgMin = require("gulp-imagemin");//开启任务gulp.task("imgMin",function(){gulp.src("src/img/**/*")//在管道中压缩.pipe(imgMin())//压缩完毕后存放在dist目录下面的img文件夹下.pipe(gulp.dest("dist/img"))})

    //压缩jsconst jsMin = require("gulp-uglify");//开启任务gulp.task("jsMin",function(){gulp.src("src/js/**/*").pipe(jsMin()).pipe(gulp.dest("dist/js"))})

    //压缩css 编译sassconst cssMin = require("gulp-sass-china");gulp.task("cssMin",function(){gulp.src("src/sass/**/*")//压缩并编译.pipe(cssMin({//sass编译的样式outputStyle:"compressed"})).pipe(gulp.dest("src/css"))})
    //监听
    gulp.task("watch",function(){//当sass文件夹下面的文件发送变化的时候我就去执行cssMin这个任务gulp.watch("src/sass/**/*",["cssMin"])})

    //-----------开始
    //开启服务器const connect = require("gulp-connect");//跨域处理const proxy = require("http-proxy-middleware");
    gulp.task("server",function(){connect.server({root:"src",port:8877,//是否更新livereload:true,//跨域处理middleware:function(){return [//localhost:8877/v4//第一个参数是请求的地址  第二个参数是将当前地址转换到哪个一个主机之上proxy("/v4",{//代理的主机头  协议域名端口target:"https://m.maizuo.com",changeOrigin:true}),proxy("/commonHeader",{//代理的主机头  协议域名端口target:"https://mapi.m.jd.com",changeOrigin:true})]}})})

    //热更新gulp.task("watch-server",function(){//监听src下面所有的文件,当文件发生了改变以后gulp.watch("src/**/*",function(){//让服务器刷新更新所有文件gulp.src("src/**/*").pipe(connect.reload(true))})})

    gulp.task("F5",["server","watch-server","cssMin"]);

    //----结束


    //合并文件const concat = require("gulp-concat");
    gulp.task("concat",function(){gulp.src(["src/js/js/ajax.js","src/js/js/lunbo.js"]).pipe(concat("abc.js")).pipe(gulp.dest("dist/js"))})

    //ES6转ES5const babes = require('gulp-babel');
    const babel = require('gulp-babel'); gulp.task('babel', () =>    gulp.src('src/es6.js')        .pipe(babel({            presets: ['@babel/env']        }))        .pipe(gulp.dest('dist')));

  • 相关阅读:
    react.js从入门到精通(四)——组件的基本使用
    react.js从入门到精通(二)——变量的定义和初始化、事件的使用
    react.js从入门到精通(三)——生命周期钩子函数的使用
    react.js从入门到精通(一)
    第三篇 12306自动刷票下单-下单
    第二篇 12306自动刷票下单-查票下单
    第一篇 12306自动下单抢票
    DOM
    Html5标签
    在Windows中配置Rsync同步文件的方法
  • 原文地址:https://www.cnblogs.com/carolavie/p/9750784.html
Copyright © 2011-2022 走看看