gulp是基于流的前端自动化构建工具。

gulp是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用。

同样的,也是包括基本用法和各插件的使用。

二、基本用法--插件使用

gulp所支持的插件也是很多的,使用方式跟基本的nodejs差不多。

下面统一介绍几个常见的 插件 ,更详细用法可以到对应官方站点查看API

使用它们,就要先install,可以直接在package.json中直接配置devDependencies依赖项,然后再统一 npm install

以下只是本人使用前端自动化gulp的一些方法,仅供参考

1、打开cmd,输入 npm install -g gulp ,在全局环境下安装gulp

2、回车,进入你想要压缩的文件夹里面,输入 npm install --save-dev gulp,在局部环境安装gulp

3、再来按照你的项目有什么文件压缩什么文件,一般在cmd通常都要压缩html、js、css和图片,或是合并。。。

4、在cmd 输入 npm install --save-dev gulp-uglify  js文件压缩

  npm install --save-dev gulp-clean-css  css文件压缩

  npm install --save-dev gulp-html-minify  html文件压缩

  npm install --save-dev gulp-imagemin  图片压缩

  npm install --save-dev gulp-autoprefixer  自动添加css前缀

  npm install --save-dev gulp-contact  合并文件

5、接下来就是代码了

  // 1、先装全局变量
  // 2、再装本地
  var gulp = require("gulp");
  // 3、压缩代码的模块,还需要本地安装 gulp-uglify
  var uglify = require("gulp-uglify");//压缩js
  var cssmin = require("gulp-clean-css");//压缩css
  var htmlmin = require("gulp-html-minify");//压缩html
  var imgmin = require("gulp-imagemin");//压缩图片
  var concat = require("gulp-concat");//合并文件
  var autoprefixer = require("gulp-autoprefixer");//添加前缀  

  //压缩JS
  gulp.task("jsmin",function(argument){
     this.src("./public/js/audio.js") //压缩js文件原件的路径
       .pipe(uglify())    //使用uglify() 方法压缩
        .pipe(gulp.dest("./dist/js"))    //文件压缩的最终目的是/dist/js文件夹里面
  })

  //合并文件
  gulp.task("jsmin",function(argument){
    this.src("./public/js/*")   //* 代表 两个或两个以上的文件
      .pipe(uglify())               //使用uglify() 方法压缩
      .pipe(concat("all.min.js"))   //使用concat方法 将两个或两个以上的文件压缩到  all.min.js 文件里面
      .pipe(gulp.dest("./dist/js"))   //文件压缩的最终目的是/dist/js文件夹里面
  })

  //压缩css
  gulp.task("cssmin",function(argument){
    this.src("./public/css/song.css")
      .pipe(autoprefixer({               //autoprefixer 方法 自动添加css前缀
      browsers:['last 2 versions'],    //浏览器的版本
        cascade:true
      }))
      .pipe(cssmin())         //使用cssmin() 方法压缩
      .pipe(gulp.dest("./dist/css"))   //文件压缩的最终目的是/dist/css文件夹里面
  })

  //压缩html
  gulp.task("htmlmin",function(argument){
    this.src("./*.html")   
      .pipe(htmlmin())
      .pipe(gulp.dest("./dist"))
  })  

  //压缩img
  gulp.task("imgmin",function(argument){
    this.src("./public/img/*")    //所有的图片
      .pipe(imgmin())          //使用imagemin() 方法压缩图片
      .pipe(gulp.dest("./dist/image"))  //文件压缩的最终目的是/dist/image文件夹里面
  }) 

  gulp.task("default",function(argument){
    gulp.run(["jsmin","cssmin","htmlmin","imgmin"]);
  })

前端自动化工具 -- gulp https://angularjs.org/的更多相关文章

  1. 前端自动化工具gulp自动添加版本号

    之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...

  2. 学习安装并配置前端自动化工具Gulp

    Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...

  3. 前端自动化工具 -- Gulp 使用简介

    gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用 ...

  4. 安装并配置前端自动化工具-gulp

    由于现在前端自动化已经很有必要了,所以我今天死皮烂脸的找了2位前端大咖帮助我安装和配置gulp,讲真,这一步步弄下来直到安装配置成功,到现在还是迷迷糊糊,不过我还是把这些步骤给记录下来,以防下次不记得 ...

  5. 前端自动化工具 gulp

    最近一个项目才接触这些自动化工具 webpack gulp grunt 等等.. webpack 可以引入模块 和 压缩 gulp 和 grunt 可以压缩 这里只说下gulp  因为项目里只用到gu ...

  6. 【gulp】前端自动化工具---gulp的使用(一)------【巷子】

    什么是gulp?   基于node的自动化构建工具   扩展:开发的时候分为2个节点一个是开发阶段  另一个是部署阶段        开发阶段:源文件不会被压缩            部署阶段:所有文 ...

  7. 前端自动化工具gulp入门基础

    gulp是前端开发过程中经常要用到的工具,非常值得花时间去掌握.利用gulp,我们可以使产品流程脚本化,节约大量的时间,有条不紊地进行业务开发.本文简单讲一下入门gulp需要掌握的东西. 安装gulp ...

  8. Node.js前端自动化工具:gulp

    前端自动化工具 -- gulp 使用简介 gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是 ...

  9. (转载)前端构建工具gulp使用

    前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...

随机推荐

  1. JavaScript tips —— target与currentTarget的区别

    定义 以下是红宝书的描述 属性/方法 类型 读/写 说明 currentTarget Element 只读 其事件处理程序当前正在处理事件的那个元素 target Element 只读 事件的目标 M ...

  2. Node.js基础知识普及

    Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制.非常适合与开发需要处理大量并发的输入/输出的应用程序.   一. Node.js的核心模块有很多,这里先写几个比较常用的( ...

  3. 【C#笔札】1 string类型(2)

    4> Trim whitespace Trim 也是string的一个方法节点 C#例子如下: C#中有Trim,TrimEnd 和TrimStart三种Trim节点,其中后两者无需介绍. 如上 ...

  4. Installing Forms Developer 10g and Reports 32-bit on 64-bit Windows versions(win7 or win10)

    E-Business Suite 12.1 and 12.2 require Forms Developer 10g and Reports Designer 10g.  Forms Develope ...

  5. Openstack Mitaka 负载均衡 LoadBalancerv2

    ​ 最近研究了一下Openstack负载均衡,yum源和源码级别的安装都尝试成功了.网上有很多文章都是LoadBalancerv1,这个已经被放弃了.所以写一下自己是如何使用LoadBalancerv ...

  6. oracle 常用的系统表查询

    (转自:http://blog.csdn.net/marshalchen/article/details/6552103) select * from user_tab_cols where colu ...

  7. fastclick插件 导致 日期插件无法触发

    fastclick源文件中有这一行,加个if条件就可以了 当touchend的时候我们判断一下他的event.target到底是啥,如果是date我们就不玩了,不要你fastclick了,用原生的去触 ...

  8. Activity传递参数——传递复杂数据(Bunble包)

    一.新建一个空的工程 二.在主界面中添加一个按钮 三.新建一个空的activity,并命名为TheAty 四.修改MainActivity.java中的onCreate函数 protected voi ...

  9. 类Flask实现前后端交互之代码聊天室

    前言 框架 项目目录及各自功能 流程图 后端 server backend exector 前端 ajax 页面更新 演示 简易应答模式 代理模式处理外部请求 后台日志 总结 前言 这两天老是做梦,全 ...

  10. vs无法调试 ,还没有为该文档加载任何符号

      如何:启用非托管代码调试 位于“项目设计器”的“调试”页上的“非托管代码调试”属性确定是否支持本机代码调试. 如果要调用 COM 对象,或启动调用您的项目的.以本机代码编写的自定义程序,并且需要调 ...