使用方法:
    1. 下载 node.js , https://nodejs.org/en/,并安装 msi
      1. 一下命令都属于 dos 命令
      2. node -v,npm -v,检验是否下载成功(出现版本号)
    2. 将 npm 镜像到淘宝 npm install cnpm -g --registry=https://registry.npm.taobao.org
      1. 然后用 cnpm 代替 npm使用
        1. 原因是 npm 是国外服务器
    3. 安装 gulp 到全局 cnpm install gulp -g
      1. 检验安装 gulp -v
      2. 切换到 文件项目目录下,cnpm install gulp --save-dev
    4. 安装插件:插件很多,
      1. cnpm install gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache del --save-dev
    5. 在项目根目录创建gulpfile.js文件
    6. var gulp = require('gulp');
      gulp.task('default', function() {
      console.log('hello world');
      });
      运行gulp,检验
      • 使用数组的方式来匹配多种文件, 可以用正则和!,

      具体代码

    1. //var gulp = require('gulp');
      //
      //gulp.task('default', function() {
      // console.log('hello world');
      //}); // 引入 gulp及组件
      var gulp = require('gulp'),
      autoprefixer = require('gulp-autoprefixer'),
      minifycss = require('gulp-minify-css'), //压缩css
      //jshint = require('gulp-jshint'), //js代码校验
      uglify = require('gulp-uglify'), //压缩JS
      imagemin = require('gulp-imagemin'), //压缩图片
      rename = require('gulp-rename'), //合并js文件
      // concat = require('gulp-concat'), // 将多个文件合并为1个
      notify = require('gulp-notify'),
      cache = require('gulp-cache'),
      livereload = require('gulp-livereload'),
      del = require('del'); // Styles
      gulp.task('styles', function() {
      return gulp.src('src/styles/**/**/**/**/**/**/**/**/**/*.css')
      .pipe(rename({ suffix: '.min' }))
      .pipe(minifycss())
      .pipe(gulp.dest('dist/styles'))
      .pipe(notify({ message: 'Styles task complete' }));
      }); // Scripts
      gulp.task('scripts', function() {
      return gulp.src('src/scripts/**/**/**/**/**/**/**/**/*.js')
      //.pipe(jshint('.jshintrc'))
      // .pipe(jshint.reporter('default'))
      // .pipe(concat('main.js'))
      .pipe(rename({ suffix: '.min' }))
      .pipe(uglify())
      .pipe(gulp.dest('dist/scripts'))
      .pipe(notify({ message: 'Scripts task complete' }));
      }); // Images
      gulp.task('images', function() {
      return gulp.src('src/images/**/*')
      .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
      .pipe(gulp.dest('dist/images'))
      .pipe(notify({ message: 'Images task complete' }));
      }); // Clean 任务执行前,先清除之前生成的文件
      gulp.task('clean', function(cb) {
      del(['dist/**/**/**/**/**/**/*'], cb)
      }); // Default task 设置默认任务
      gulp.task('default', ['clean'], function() {
      gulp.start('styles', 'scripts', 'images');
      }); // Watch 监听
      gulp.task('watch', function() {
      // Watch .scss files
      gulp.watch('src/styles/**/**/**/**/**/**/**/**/**/**/*.css', ['styles']);
      // Watch .js files
      gulp.watch('src/scripts/**/**/**/**/**/**/**/**/**/**/**/*.js', ['scripts']);
      // Watch image files
      gulp.watch('src/images/**/**/**/**/**/**/**/**/**/**/*', ['images']);
      // Create LiveReload server
      livereload.listen();
      // Watch any files in dist/, reload on change
      gulp.watch(['dist/**']).on('change', livereload.changed); });

  

Gulp 前端优化的更多相关文章

  1. gulp 前端构建工具入门

    gulp 前端构建工具入门 标签(空格分隔): gulp 1. 安装gulp npm i -g gulp 2. 创建gulp项目 2.1 Hello world 使用npm init初始化项目文件夹. ...

  2. 【前端优化之渲染优化】大屏android手机动画丢帧的背后

    前言 上周我与阿里的宇果有一次技术的交流,然后对天猫H5站点做了一些浅层次的分析,后面点时间基本天天都会有联系,中途聊了一些技术细节.聊了双方团队在干什么,最后聊到了前端优化.因为我本身参与了几次携程 ...

  3. 【前端优化之拆分CSS】前端三剑客的分分合合

    几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试&l ...

  4. 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

    本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...

  5. 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)

    Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...

  6. 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)

    网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...

  7. 【webapp的优化整理】要做移动前端优化的朋友进来看看吧

    单页or多页 本文仅代表个人观点,不足请见谅,欢迎赐教. webapp 小钗从事单页相关的开发一年有余,期间无比的推崇webapp的网站模式,也整理了很多移动开发的知识点,但是现在回过头来看,weba ...

  8. nginx,控浏览器缓存,前端优化方案

    1,困惑 做web项目,对于开发者来说,一个最头痛的问题就是浏览器缓存,有缓存,js更改了,html更改了,发布服务器以后用户往往无法通过浏览器访问到最新的类容,需要用户主动去刷新页面, 因为一直做企 ...

  9. 【转】yahoo前端优化军规

    雅虎给出了前端优化的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像). Minimize HTTP Requests 减少http请求 图片.css ...

随机推荐

  1. 学习 JavaScript(二)在 HTML 中使用 JS

    基本用法 在 HTML 中使用 <script> 元素引入 Javascript , <script> 有以下 4 个常用属性: async: 异步加载,只对外部脚步有效. d ...

  2. Java学习路线图分析

     Java学习路线分析图 第一阶段 技术名称 技术内容 J2SE(java基础部分) java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置, ...

  3. 关于ef+codefirst+mysql/dapper(dbFirse)(入门)

    ef+mssql详细是许多.net程序员的标配.作为一个程序员当然不能只会mssql这一个数据库,今天简单聊聊ef+mysql.推荐新人阅读. 1]首先创建一个mvc项目,如图: 创建完毕之后再nug ...

  4. 模板方法模式 Template method 行为型 设计模式(二十六)

    模板方法模式 Template method 上图为网上百度的一份简历模板截图   相信大家都有求职的经历,那么必然需要简历,写简历的时候,很可能你会网上检索一份简历模板,使用此模板的格式,然后替换为 ...

  5. 用animation的steps属性制作帧动画

    昨天火急火燎地接到一个任务,说是要做一个掷骰子的游戏,关于掷骰子期间的过渡动画,我本来是想用css 3d制作一个立体的骰子,然后叫UI给6张平面图贴上去.再用translate3d来操作.然而UI考虑 ...

  6. Andorid之页面布局优化

    文章大纲 一.为什么要进行页面布局优化二.页面布局优化实操三.项目源码下载四.参考文章 一.为什么要进行页面布局优化   在开发Android时,会遇到某些是通用的布局,我们常将一些通用的视图提取到一 ...

  7. Android 上传图片到服务器二--------调用相机7.0以上权限问题

    [目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...

  8. Python写爬虫爬妹子

    最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据.解析数据.保存数据.下面一一来讲.   1.下载数据 首先打 ...

  9. CentOS7 安装mysql 5.7

    一.安装准备 检查系统中是否安装了mysqlrpm -qa|grep mysql如果有安装mysql,则需要先卸载之前安装的mysqlyum -y remove mysql然后再查看mysql是否都卸 ...

  10. 难以理解的AQS(下)

    在上一篇博客,简单的说下了AQS的基本概念,核心源码解析,但是还有一部分内容没有涉及到,就是AQS对条件变量的支持,这篇博客将着重介绍这方面的内容. 条件变量 基本应用 我们先通过模拟一个消费者/生产 ...