使用方法:
    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. kolla 多节点部署 openstack

    kolla 介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的交付能力.kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只 ...

  2. 简易版本vue的实现

    用了Vue也有两年时间了,一直以来都是只知其然,不知其所以然,为了能更好的使用Vue不被Vue所奴役,学习一下Vue底层的基本原理. Vue官网有一段这样的介绍:当你把一个普通的JavaScript对 ...

  3. 欢迎使用IdentityModel文档!- IdentityModel 中文文档(v1.0.0)

    IdentityModel是基于声明的身份,OAuth 2.0和OpenID Connect的.NET标准帮助程序库. 它具有以下高级功能: 标准OAuth 2.0和OpenID Connect端点的 ...

  4. 自学WEB前端到什么程度才能就业

    做过多年web前端从业者,回答下这个问题 首先,这个问题主要问:自学web前端技术,如果才能找到一份web前端的工作.按照现在的招聘标准来看,无论你去哪个公司面试,你只需要满足他们公司的需求就可以. ...

  5. 002-如何理解Java的平台独立性

    本文首发于公众号:javaadu Java有句非常有名的口号--"一次编写,到处运行",依靠的就是JVM提供的平台独立性,本质上来讲,就是通过虚拟机技术,通过限制一些功能,达到屏蔽 ...

  6. 关于Python中读取写入文件并进行文件与用户交互的操作

    一.提前知识点 在python中是同样和其他语言一样可以进行文件的读取写入操作,值得注意的是,Python中打开文件读取的方式有几种,分别是以下几种: f = open('username.txt') ...

  7. shell 简单脚本编程

    shell脚本编程 编译器,解释器 编程语言: 机器语言,汇编语言,高级语言 静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 C,C++,JAVA,C# 动态语言:解释型语言,on the ...

  8. powerDesigner生成数据结构图以及对应sql导出方法

    1.下载powerDesigner 链接地址为http://soft.onlinedown.net/soft/577763.htm 2.打开软件,file -> new project,新建一个 ...

  9. shell 编程记录

    1 文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tm ...

  10. 双因素认证(2FA)教程

    所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤. 密码是最常见的认证方法,但是不安全,容易泄露和冒充. 越来越多的地方,要求启用 双因素认证(Two-factor ...