gulp css html image js 合并压缩
安装node.js npm 以及安装gulp等方法我就不在这里赘述了。
接下里我主要介绍的是Gulpfile文件里面的配置该如何书写。
var gulp = require('gulp');//引入gulp组件
// 引入组件
//在引入这些组件前你需要在你的项目里进行安装。举个栗子:组件中间用空格隔开。一定要先切换到你项目所在的目录
//npm install gulp-jshint gulp-sass gulp-concat gulp-uglify gulp-rename --save-dev
var htmlmin = require('gulp-htmlmin'), //html压缩
    imagemin = require('gulp-imagemin'),//图片压缩
    pngcrush = require('imagemin-pngcrush'),
    minifycss = require('gulp-minify-css'),//css压缩
    jshint = require('gulp-jshint'),//js检测
    uglify = require('gulp-uglify'),//js压缩
    concat = require('gulp-concat'),//文件合并
    rename = require('gulp-rename'),//文件更名
    notify = require('gulp-notify');//提示信息
// 压缩html
gulp.task('html', function() {
    return gulp.src('src/*.html')
        .pipe(htmlmin({collapseWhitespace: true}))
        .pipe(gulp.dest('./dest'))
        .pipe(notify({ message: 'html task ok' }));
});
// 压缩图片
gulp.task('img', function() {
    return gulp.src('src/images/*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngcrush()]
        }))
        .pipe(gulp.dest('./dest/images/'))
        .pipe(notify({ message: 'img task ok' }));
});
// 合并、压缩、重命名css
gulp.task('css', function() {
    return gulp.src('src/css/*.css')
        .pipe(concat('main.css'))
        .pipe(gulp.dest('dest/css'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        .pipe(gulp.dest('dest/css'))
        .pipe(notify({ message: 'css task ok' }));
});
// 检查js
gulp.task('lint', function() {
    return gulp.src('src/js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(notify({ message: 'lint task ok' }));
});
// 合并、压缩js文件
gulp.task('js', function() {
    return gulp.src('src/js/*.js')
        .pipe(concat('all.js'))
        .pipe(gulp.dest('dest/js'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        .pipe(gulp.dest('dest/js'))
        .pipe(notify({ message: 'js task ok' }));
});
// 默认任务
gulp.task('default', function(){
    gulp.run('img', 'css', 'lint', 'js', 'html');
    // 监听html文件变化
    gulp.watch('src/*.html', function(){
        gulp.run('html');
    });
    // Watch .css files
    gulp.watch('src/css/*.css', ['css']);
    // Watch .js files
    gulp.watch('src/js/*.js', ['lint', 'js']);
    // Watch image files
    gulp.watch('src/images/*', ['img']);
});												
											gulp css html image js 合并压缩的更多相关文章
- 使用gulp对js、css、img进行合并压缩
		
1 概述 最新使用AngularJS框架做单页面项目,其中包括了很多库的和自已写的js.css.img文件,这些文件都不大,但是数量众多,导致web请求文件过多,一次性加载时比较慢.有尝试过使用异步加 ...
 - gulpfile.js 合并压缩 requirejs 的配置文件
		
var gulp = require("gulp"); // var babel = require("gulp-babel"); // 用于ES6转化ES5 ...
 - require.js 加载 vue组件 r.js 合并压缩
		
https://www.taoquns.com 自己搭的个人博客 require.js 参考阮一峰 Javascript模块化编程(三):require.js的用法 r.js 合并压缩 参考司徒正美 ...
 - gulp 之一 安装及简单CSS,JS文件合并压缩
		
最近研究了一下gulp构建工具,发现使用起来比grunt顺手一些.(个人感受),以下是grunt和gulp构建方式和原理: grunt 基于文件方式构建,会把文件先写到临时目录下,然后进行读文件,修改 ...
 - grunt自定义任务——合并压缩css和js
		
npm文档:www.npmjs.com grunt基础教程:http://www.gruntjs.net/docs/getting-started/ http://www.w3cplus.com/to ...
 - 使用grunt合并压缩js、css文件
		
需要了解的知识: 1.nodejs的安装与命令行使用 2.nodejs安装应用 3.grunt的初步了解 本文已假定读者已经熟悉以上知识. 好,我们继续: 任务1:将src目录下的所有zepto及插件 ...
 - grunt 合并压缩js和css文件(二)
		
具体node及文件配置请看: grunt 安装使用(一) 要压缩的文件 --src/ ajax.js assets.js touch.js zepto.js 目录结构: dist/ node_modu ...
 - requirejs实验002. r.js合并文件. 初体验.
		
requirejs的官网上有介绍如何使用r.js合并,压缩文件的.http://requirejs.org/docs/optimization.html https://github.com/jrbu ...
 - 前端自动化(三)   合并压缩css、压缩js、添加时间戳、打包上线操作
		
前端自动化(三) 合并压缩css.压缩js.添加时间戳.打包上线操作 此文在前两篇基础上对比参考,会很方便理解 gulp.task("delete",function(){ r ...
 
随机推荐
- 【Luogu】P2486染色(树链剖分)
			
题目链接 线段树维护左端颜色,右端颜色,颜色段数量. 合并的时候看左子树的右端颜色是不是等于右子树的左端颜色,如果等于那么颜色段数量要-1S 然后在树剖跳链的时候搞同样的操作qwq 然后就没有然后了 ...
 - 学习 JSP:第三步 JSP基础(未完)
			
因为之前学过也用过JSP,这里只列出笔记,初学者请移步其他教程. JSP隐含对象 JSP支持九个自动定义的变量,江湖人称隐含对象.这九个隐含对象的简介见下表: 对象 描述 request HttpSe ...
 - [暑假集训--数位dp]LightOj1205 Palindromic Numbers
			
A palindromic number or numeral palindrome is a 'symmetrical' number like 16461 that remains the sam ...
 - 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功
			
记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boo ...
 - poj 2379 Sum of Consecutive Prime Numbers
			
...
 - 【NOIP2017】逛公园(最短路图,拓扑排序,计数DP)
			
题意: 策策同学特别喜欢逛公园. 公园可以看成一张 N 个点 M 条边构成的有向图,且没有自环和重边.其中 1 号点是公园的入口, N 号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花 ...
 - py2exe使用方法 (含一些调试技巧,如压缩email 类)
			
http://justcoding.iteye.com/blog/900993 一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样, ...
 - 转Yii框架radioButtonlist水平横排及去除除换行符号
			
横排: echo $form->radiobuttonlist($model, ‘type’,$arrtype,array(‘template’ => ‘<li style=”dis ...
 - mybatis ----SqlSessionManager
			
今天我们来看看这个类 有些写法还是很经典的 public class SqlSessionManager implements SqlSessionFactory, SqlSession { priv ...
 - eclipse不会自动编译的问题解决
			
注意:非必要的时候,重新下载eclipse安装是最有效的解决方法. 以下为尝试的步骤: 1.看看project->Build Automatically有没有勾上?如果没有,勾上以后,clean ...