关键词:
---恢复内容开始---
gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。
外网:http://gulpjs.com/
中文官网:http://www.gulpjs.com.cn/
易于使用
通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。
构建快速
利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。
插件高质
Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。
易于学习
通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。
gulp其功能就是将代码放在管道顶部,自由垂落,经过管道的每个片段处理过程,从而实现了对代码的整体处理,最后落入目标目录,一句话“流的感觉”
gulp安装:
gulp基于node,要先安装node,然后命令行输入 npm install -g gulp --save-dev (-g:全局安装;--save-dev将gulp加入package.json开发依赖项)
安装gulp常用插件:
npm install -g gulp-sass gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache --save-dev
项目:
1、创建目录scale,在其下面创建learn-gulp项目目录,目录里存放css、js文件
2、安装局部gulp和局部gulp插件,安装方法与上面相同(不安装局部无法操作项目)
3、创建gulpfile.js文件
目录结构,如图:
编写gulpfile.js
多少年的老规矩了上代码:
1 var gulp = require("gulp"), //加载gulp模块 2 concat = require("gulp-concat"), 3 minify = require("gulp-minify-css"), //加载插件模块 4 uglify = require("gulp-uglify"), 5 livereload = require("gulp-livereload"), 6 rename = require("gulp-rename"); 7 8 9 // 合并,压缩css文件 10 gulp.task(‘css‘, function() { //任务名(必须是字符串) 11 gulp.src(‘learn-gulp/*.css‘) 12 .pipe(concat(‘all.css‘)) 13 .pipe(minify()) 14 .pipe(rename(‘all.min.css‘)) //{suffix:‘.md‘}(加后缀的) 15 .pipe(gulp.dest(‘dist‘)); 16 });
//合并,压缩js文件 17 gulp.task(‘script‘, function() { 18 gulp.src(‘learn-gulp/*.js‘) 19 .pipe(concat(‘all.js‘)) 20 .pipe(uglify()) 21 .pipe(rename(‘all.min.js‘)) 22 .pipe(gulp.dest(‘dist‘)); 23 }); 24 25 // 默认任务 26 gulp.task(‘default‘, [‘css‘,‘script‘]); //默认执行的任务,可以为多个,写成数组即可 27 28 // 监听文件变化 29 gulp.watch([‘learn-gulp/*.css‘, ‘learn-gulp/*.js‘], [‘css‘,‘script‘]); //找到src源,监听其是否变化,若变化根据src源找到对应task执行 30
坑一:必须局部安装gulp、gulp插件(node.js command prompt 运行,即node的命令行gulp相关命令)
坑二:任务名必须是string,且不能用gulp的关键字
坑三:不同的任务必须分开写,不能写在一个任务里(不然执行不了)
小谈事务
1.事务是什么?并发控制单位,该工作单元内的操作是不可分割的。2.为什么要使用事务?高并发环境下,没有一定限制地并发对数据进行操作是不安全的,使用事务可以从某种程度上保障这种“安全”。3.事务的特性原子性(Atomi... 查看详情
小谈c#数据库存取图片的方式
代码CodehighlightingproducedbyActiproCodeHighlighter(freeware)http://www.CodeHighlighter.com/-->///<summary>///上传图片///</summary>///<paramname="FUSShopURL">FileUpload对象</param> 查看详情
纠错小谈
今天在写好的一个PHP页面,语法上没有报错,但是页面上就是出现了如下图的提示: 一看是不认识mysql的语法,然后我就去百度为啥了,然后各楼楼主就是各种去注释的回答,试了半天也也没解决问题。 后来想了下... 查看详情
小谈arraylistlist与数组(代码片段)
1、数组在初始化的时候要指定数组的大小,ArrayList本质也是数组,不过是一个动态的数组,大小是可以变化的 数组的大小:length; ArrayList的大小:size。2、数组很好理解,ArrayList是动态数组,究竟是怎么回事?我研究了... 查看详情
小谈软件工程
随着信息时代的发展,软件工程产业迈入快速平稳的发展,这才有了大学软件工程专业。因为有社会的需要,才会有这一专业的发展,需要我们年轻的一代去创造。软件工程是一项体系化工程,需要大... 查看详情
js(javascript)小谈变量声明(显隐声明,声明提前)
var a=5;function fun(){ a=0; alert(a); &nbs 查看详情
小谈学习方法(学习篇)
读了这么多年的书,虽没有特别的成就,但也该多总结自己的学习方法吧。这里谈的学习方法,主要还是指理科方面,不拘束于哪个年龄阶段。当然,在学习方法方面,是因人而异的,不是说我的方法就适合你,同时我也不是什... 查看详情
小谈kvc中keypath的集合运算符
由于知识点比较简单,这里不再陈述一大堆的原理,直入主题。KVC中的集合运算符有以下三类: 1、简单集合运算符:@avg、@sum、@max、@min、@count(只能用在集合对象中,对象属性必须为数字类型) 2、对象... 查看详情
佰伦公司招商加盟,页面制作小谈
1.盒子的浮动 在标准流中,一个块级元素在水平方向会自动伸展,知道包含它的元素的边接;而在竖直方向与相邻元素依次排列,不能并排。 CSS中float属性,默认为none。将float属性的值设置为left或right,元素就会向其父... 查看详情
javascript中的this关键字小谈
说到this,就不得不提到function,相信看过其它类似文章的同学也知道,正是由于调用function的对象不同,才导致了this的指向不同。所以以前老是去记忆每种调用function的情况所对应的this,因为情况有限而且很少,所以这当然是可... 查看详情
小谈闭包(代码片段)
猥琐男:闭包?死肥宅:一个函数return一个函数,且引用这个函数的变量?闷骚男:其实闭包就是内部函数,我们可以通过在一个函数内部或者块里面定义一个函数(引用函数内部的变量)来创建闭包;死肥宅:搜嘎;猥琐男:... 查看详情
ios小谈开发者中的个人组织(公司企业)账号
苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:1、个人(Individual)2、组织(Organizations)组织类又分为2个小类:(1)公司(Company)(2)企业(Enterprise)3、教育机构(EducationalInstitutions)更多内... 查看详情
小谈音视频质量检测
本人从一位测试的角度出发,基于目前项目中摄像头的直播和语音对讲业务,正寻求音视频的质量测试及一些监控分析手段。工作中发现达到一定的并发程度之后,就会出现延时、卡顿、丢帧、马赛克等问题。所以最... 查看详情
小谈区块链及比特币
特斯拉前一阵的投资比特币,支持比特币支付政策大大刺激了一波,但是后续大赚一波以后宣布撤资。然后国家发布不允许使用虚拟货币交易给比特币最沉重的一击。随着比特币的沉入低谷,无数人对比特币的热情渐... 查看详情
小谈区块链及比特币
特斯拉前一阵的投资比特币,支持比特币支付政策大大刺激了一波,但是后续大赚一波以后宣布撤资。然后国家发布不允许使用虚拟货币交易给比特币最沉重的一击。随着比特币的沉入低谷,无数人对比特币的热情渐... 查看详情
小谈《悟空传》
小谈《悟空传》读书计划中,一部分是将以前读过的书重读。 好书(古今经典、大家出品),细读;一般的书,采取浏览式速读。 《悟空传》属于后者。不得不说,2009-2013年间初次读到时,还是挺喜欢的。 当年赞赏... 查看详情
小谈keepalivedvip漂移原理与vrrp协议
参考技术Ahttps://www.cnblogs.com/lixuwu/p/8476997.html什么是keepalived呢?keepalived是实现高可用的一种轻量级的技术手段,主要用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生。之所以说keepalived... 查看详情
小谈剪枝研究
参考技术A本文主要从几篇论文以及几篇博客分享谈一下现在的剪枝发展,以及从自己的一些实践中实际剪枝的实验效果。剪枝的理论基础就是过参数化(Over-parameterization)。在传统的机器学习中,过参数化意味着过拟合。但是... 查看详情