使用方法:
    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. 从壹开始微服务 [ DDD ] 之十二 ║ 核心篇【下】:事件驱动EDA 详解

    缘起 哈喽大家好,又是周二了,时间很快,我的第二个系列DDD领域驱动设计讲解已经接近尾声了,除了今天的时间驱动EDA(也有可能是两篇),然后就是下一篇的事件回溯,就剩下最后的权限验证了,然后就完结了, ...

  2. FreeSql 扩展包实现 Dapper 的使用习惯

    简介 FreeSql.Connection.Extensions 这是 FreeSql 衍生出来的扩展包,实现(Mysql/postgresql/sqlserver/Oracle/SQLite)数据库 ...

  3. Server Error in '/' Application Runtime Error 错误

    项目发布后  在本地发布可以运行  在服务器就会出现这种错误 在网上也查找了各种资料  解决方案 都没有解决 因为我用的C# 首先在 Webconfig配置文件中的 system.web中加入 < ...

  4. 用weexplus从0到1写一个app

    说明 基于wexplus开发app是来新公司才接触的,之前只是用过weex体验过写demo,当时就被用vue技术栈来开发app的开发体验惊艳到了,这个开发体验比react native要好很多,对于我 ...

  5. Sqlserver 事务处理模板

    USE StuDB GO /****** Object: StoredProcedure [dbo].[proc_live_send_answer_v4] Script Date: 06/20/201 ...

  6. .Net Core 在Linux服务器下部署程序--(2). 部署前需要安装的软件及SDK

    安装通用软件 : ping , telnet , lrzsz , zip , wget 安装ping软件,用于测试当前服务器与其他服务器之间的网络通畅情况,和Windows的Ping类似 执行ping ...

  7. 在linux中访问macos 下的分区。

    花钱的解决方案是找专业的:   Paragon Software  他们家有各种套件,让你在window Linux 都能访问到苹果分区里面的内容. 但是Windows删除了它的驱动之后一开机就蓝屏. ...

  8. Identity Server 4 - Hybrid Flow - MVC客户端身份验证

    预备知识 可能需要看一点点预备知识 OAuth 2.0 不完全简介: https://www.cnblogs.com/cgzl/p/9221488.html OpenID Connect 不完全简介: ...

  9. 中文分词实战——基于jieba动态加载字典和调整词频的电子病历分词

    分词是自然语言处理中最基本的一个任务,这篇小文章不介绍相关的理论,而是介绍一个电子病历分词的小实践. 开源的分词工具中,我用过的有jieba.hnlp和stanfordnlp,感觉jieba无论安装和 ...

  10. Docker 删除&清理镜像

    文章首发自个人网站:https://www.exception.site/docker/docker-delete-image 本文中,您将学习 Docker 如何删除及清理镜像? 一.通过标签删除镜 ...