glup 基础插件应用 随笔

var gulp = require("gulp"),//全局安装gulp(必须,没有它别的都废啦)
    concat = require("gulp-concat"),//合并js文件
    uglify = require("gulp-uglify"),//压缩js文件
    rename = require(‘gulp-rename‘),//重命名文件流文件
    cssmin = require(‘gulp-minify-css‘),//压缩css文件
    htmlmin = require(‘gulp-htmlmin‘),//压缩html文件
    clean = require("gulp-clean"),//删除文件
    copy = require("gulp-copy");//复制文件
zip = require("gulp-zip");//压缩打包成zip文件

var paths = ["jquery/jquery.js", "jquery/jquery.fullscreen.js", "js/FullScreen.js", "js/SecondManager.js", "js/Label.js", "js/Differences.js", "js/Scene.js", "js/StartScene.js", "js/GameScene.js", "js/TimeoutScene.js", "js/CompleteScene.js", "js/Audio.js", "js/Game.js", "js/GameSceneDatas.js", "js/Main.js"];

gulp.task("test", function () {
    console.log("concat      合并js文件");
    console.log("uglify      压缩js文件");
    console.log("cssmin      压缩css文件");
    console.log("htmlmin     压缩html文件");
    console.log("clean       删除文件");
    console.log("copy        复制文件");
    console.log("zip         压缩打包成zip文件");
    console.log("watch       监控文件修改");
})

gulp.task("concat", function () {
    return gulp.src(paths)
        .pipe(concat("index.js"))
        .pipe(gulp.dest("dist/"));
})

gulp.task("uglify",["concat"], function () {//执行压缩前会先执行一边合并
    return gulp.src("dist/index.js")
        .pipe(uglify())
        .pipe(rename("index.min.js"))
        .pipe(gulp.dest("dist/"));
})

gulp.task("cssmin", function () {
    return gulp.src("index.css")
        .pipe(cssmin())
        .pipe(rename("index.min.css"))
        .pipe(gulp.dest("dist/"))
})

gulp.task(‘htmlmin‘, function () {
    var options = {
        removeComments: true,//清除HTML注释
        collapseWhitespace: true,//压缩HTML
        //省略布尔属性的值 <input checked="true"/> ==> <input />
        collapseBooleanAttributes: true,
        //删除所有空格作属性值 <input id="" /> ==> <input />
        removeEmptyAttributes: true,
        //删除<script>的type="text/javascript"
        removeScriptTypeAttributes: true,
        //删除<style>和<link>的type="text/css"
        removeStyleLinkTypeAttributes: true,
        minifyJS: true,//压缩页面JS
        minifyCSS: true//压缩页面CSS
    };
    return gulp.src(‘index.html‘)
        .pipe(htmlmin(options))
        .pipe(rename("index.min.html"))
        .pipe(gulp.dest(‘‘));
});

gulp.task("clean",["uglify"],function () {//删除文件前会先执行压缩,确保删除文件以备压缩执行
    return gulp.src("dist/index.js")
        .pipe(clean());
})

gulp.task("copy", function () {
    return gulp.src(["mp3/**", "images/**"])
        .pipe(copy("./dist"));
})

gulp.task("zip", ["cssmin", "htmlmin","clean", "copy"], function () {
    return gulp.src(["dist/**","index.min.html"])
        .pipe(zip("jaja.zip"))
        .pipe(gulp.dest(""))
})

gulp.task("watch", function () {
    gulp.watch("js/*.js", [‘concat‘, ‘uglify‘])
    gulp.watch("index.css", [‘cssmin‘])
    gulp.watch("index.html", [‘htmlmin‘])
})
时间: 2024-10-02 04:34:34

glup 基础插件应用 随笔的相关文章

vim 插件使用随笔

接触了多年vim,以为到了山顶其实还在半山腰. 此随笔记录下最近学习的几个插件,备忘. First Plugin:Vundle 前几年一直都是把自己用的插件改改,放到.vim目录下,现在开始用vundle来管理,其特点是需要有网络,连接github. git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 之后把.vimrc改成这样开头 set nocompatible " be iMproved,

sublime Text 3常用Html/Css基础插件安装

1.Package Contorl 包安装 Package Contorl:由Sublime Text提供的绝对必要的包管理器. 1.按Ctrl+`打开console. 2.粘贴一下代码到底部命令行并回车 import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-packag

object - c 语言基础 进阶笔记 随笔笔记

重点知识Engadget(瘾科技)StackOverFlow(栈溢出)Code4Apprespon魏先宇的程序人生第一周快捷键: Alt+上方向键 跳到最上面  Alt+下方向键 跳到最下面         Alt+左方向键 跳到最左面   Alt+右方向键 跳到最右面        Alt+shift+方向键  可以批量复制内容,在按方向键可以删除行        command+鼠标  纵向复制内容userInteractionEnabled  控件的交互性;类的三大特性 :工程名:首字母一

C语言0基础学习 个人随笔简介和目录

众所周知 计算机之中分为很多的 语言. 从底层的机器语言到后来的汇编语言 再到过程语言(面向过程的语言 例如:C,pascal,baisc......) 再到后来的 对象语言(面向对象的语言 例如:C++,Delphi[pascal语法],易语言,Visual Basic,Csharp[就是C#正规写法]). 那么为什么要分这么多语言 多麻烦 不是么? 一个时代 有一个时代的想法. 当时创造C语言的人 想的是过程走下来. 后来的人创造C++是因为想 可以 把重复的代码 或者部分重复的代码 封装起

iOS基础控件随笔代码

UIViewController的生命周期: 1.运行APP 2.-  (void)loadView { [super loadView]; } 3.- (void)viewDidLoad { [super viewDidLoad]; } 4.- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } 5. - (void)viewDidAppear:(BOOL)animated { [super view

《Linux系统基础》课堂随笔3 7.20

Esc+.(句号):快速书写上次已经写过的路径 命令行查看的几种命令: cat : tac:(cat的倒写) more : 分页显示文本文件 单向   [常和管道符一起用] less:分页显示文本文件 能翻页 q键退出 head:快速查看前10行(系统默认) tail :快速查看后10行(系统默认) 例:[[email protected] ~]# cat  /etc/passd [[email protected] ~]# more [esc+.]/etc/passd 第11章 用户和群组账号

python 之路,Day 1 python基础 之 课后随笔

首先是抱着被忽悠的心态,购买了老男孩的什么什么什么(你懂得!!),开始了一周一堂课时的听,然后就是做,自己的博客,首先附上整理的内容吧. 1day ....

vim 插件使用随笔(2)

Plugin 8th: tpope/vim-commentary Help me comment a code, I tested it support C++,vim. so it will support a lot of lang. How to use: Use gcc to comment out a line (takes a count), gc to comment out the target of a motion (for example, gcap to comment

[PHP]php基础练习题学习随笔

1.解释一下PHP中常量.变量.可变变量并举例说明:超级全局变量有哪些? 常量是单个值的标识符(名称),通过define()设置,在脚本中无法改变该值,常量自动全局. <?php #对大小写不敏感为true,默认为false define("GREETING", "Welcome to W3School.com.cn!", true); echo greeting; ?> 变量是存储信息的容器,以$符号开头,首次赋值时被创建,变量名对大小写敏感: <