gulp学习笔记3

gulp系列学习笔记:

1、gulp学习笔记1

2、gulp学习笔记2

3、gulp学习笔记3

4、gulp学习笔记4

 

1、编译sass

Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大大节省了开发者的时间,使得 CSS 的开发,变得简单和可维护。

安装相应的模块:

npm install gulp-ruby-sass

gulpfile.js 文件编写如下代码:

/ 获取 gulp
var gulp = require('gulp')
// 获取 gulp-ruby-sass 模块
var sass = require('gulp-ruby-sass')// 编译sass
// 在命令行输入 gulp sass 启动此任务
gulp.task('sass', function() {return sass('sass/') .on('error', function (err) {console.error('Error!', err.message);}).pipe(gulp.dest('dist/css'))
});

此时在命令行输入:

gulp sass

将sass文件夹下的.sass文件编译放到dist/css文件夹下。

 

2、检查js代码

JSHint(http://www.jshint.com/)是一个JavaScript语法和风格检查工具,你可以用它来提醒代码风格相关的问题。

同样的,我们也需要相应的代码:

npm install gulp-jshint --save-dev

然后我们在配置文件编写相对应的代码:

// 包含gulp
var gulp = require('gulp'); // 包含gulp-jshint插件
var jshint = require('gulp-jshint');// jshint 任务建立
gulp.task('jshint', function() {gulp.src('./src/scripts/*.js').pipe(jshint()).pipe(jshint.reporter('default'));
});

此时在命令行输入:

gulp jshint

你会看到如下输出:

[gulp] Using file D:\test\gulpfile.js
[gulp] Working directory changed to D:\test
[gulp] Running 'jshint'...
[gulp] Finished 'jshint' in 8.24 ms
D:\test\src\scripts\lib.js: line 2, col 20, Missing semicolon.1 error

这里显示lib.js的文件有个错误。然后你照着修改就可以了。

3、压缩html

为了节省流量和提高页面的加载速度,同样的,我们可以对html也进行压缩。

安装相应的模块:

npm install gulp-minify-html --save-dev

gulpfile.js 文件编写如下代码:

// 包含插件
var minifyHTML = require('gulp-minify-html');// minify new or changed HTML pages
gulp.task('htmlpage', function() {gulp.src('./src/*.html').pipe(minifyHTML()).pipe(gulp.dest('./dist'));
});

此时在命令行输入:

gulp htmlpage

将src文件夹下的.html文件编译放到dist文件夹下。

3、

4、只编译修改的文件

在前面的那些任务当中,当你只修改其中一个文件的话,其实所有的文件都会被重新编译一次。当编译的文件比较多的时候,所需要的时间就会大大增加。这时候,我们就要用到一个新的插件 gulp-changed.

安装插件:

npm install --save-dev gulp-changed

这里借用前面的图片压缩来说明,编写代码:

var changed = require('gulp-changed');
var imagemin = require('gulp-imagemin');// 压缩新图片
gulp.task('imagemin', function() {var imgSrc = './src/images/**/*',imgDst = './dist/images';gulp.src(imgSrc)//  发现有新图片
    .pipe(changed(imgDst))// 压缩
    .pipe(imagemin())// 保存
    .pipe(gulp.dest(imgDst));
});

此时在命令行输入:

gulp imagemin

将src/images文件夹下的图片压缩到dist/images文件夹下。

 

 

文章参考了以下资料:

1、gulp详细入门教程:  http://www.ydcss.com/archives/18;  

2、gulp API 文档:  http://www.gulpjs.com.cn/docs/api/;  

3、gulp 入门指南:  https://github.com/huanshen/gulp-book; 

4、An Introduction to Gulp.js:  https://www.sitepoint.com/introduction-gulp-js/

转载于:https://www.cnblogs.com/huansky/p/6019351.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB学习1——Windows 下配置及启动mongodb服务器

1.下载mongodb程序:http://lt1.cr173.com/soft2/mongodb.zip 2.解压程序3.在解压后的mongodb文件夹中创建 data、logs、conf文件夹4.编写配置文件conf\mongod.conf#端口号 port 12345 #数据库路径,也可以使用绝对路径 dbpath data #日志路径&#xff0…

JavaFX 2.0条形图和散点图(以及JavaFX 2.1 StackedBarCharts)

JavaFX 2.0提供了用于生成图表的内置功能,该功能可在javafx.scene.chart包中找到。 在本文中,我将介绍如何使用JavaFX 2.0创建条形图和散点图 。 在本文的学习过程中,我将一路使用Guava和一些Java 7功能。 在演示JavaFX 2.0图表API之前&#…

python中下划线开头的命名_Python 中各种下划线的骚操作:_、_xx、xx_、__xx、__xx__、_classname_...

我们在定义一些变量或者方法的时候,常常会用到下划线,在 Python 中,下划线可是很有用处的哟,比如变量,有些是一个下划线开头的(_xx),有些是两个下划线开头的(__xx),有些是在名称的结尾添加下划线…

MongoDB学习2——Windows 使用mongo连接数据库

一、查看mongo帮助文档mongo.exe --help二、使用mongo 连接服务器mongo.exe 数据库地址:数据库端口号/数据库关闭服务器db.shutdownServer()注:关闭数据必须使用admin数据库权限

【UVA 10816】 Travel in Desert (最小瓶颈树+最短路)

【题意】 有n个绿洲, m条道路,每条路上有一个温度,和一个路程长度,从绿洲s到绿洲t,求一条道路的最高温度尽量小, 如果有多条, 选一条总路程最短的。 InputInput consists of several test cases…

[OJ] Data Stream Median (Hard)

LintCode 81. Data Stream Median (Hard) 思路: 用一个大根堆保存较小的一半数, 一个小根堆保存较大的一半数.每次根据num和两个堆顶的数据决定往哪个堆里面放.放完后进行平衡确保两个堆的size差不超过1.利用两个堆的size和堆顶值计算median.大根堆可以表示为priority_queue<…

书评:JBoss AS 7:配置,部署和管理

我热切地接受Packt Publishing邀请复审JBoss AS 7&#xff1a;配置&#xff0c;部署和管理&#xff0c;因为自从我上次使用JBoss已有数年了&#xff0c;我很想了解有关JBoss AS 7的更多信息。 我已经写过关于《 JBoss AS 7配置&#xff0c;部署和管理》一书的第一印象&#xff…

联想小新air14笔记本黑屏_联想小新air14锐龙版测评,谈谈它的好和坏

联想小新air14锐龙版本测评了解数码就找小侠客&#xff0c;我是机圈小侠客 今天呢&#xff0c;主要和大家测评一下联想小新air14这款笔记本&#xff0c;总体而言的话&#xff0c;这款笔记本它是一个。对于办公人士或者轻度游戏爱好者来说的话&#xff0c;是一个不错的选择&…

MongoDB学习3——mongoDB的一些基本使用

#查看所有数据库show dbs;#创建&#xff08;切换&#xff09;数据库use DATABASE_NAME注&#xff1a;如果数据库不存在&#xff0c;则创建数据库&#xff0c;否则切换到指定数据库。#插入文档&#xff08;关系型数据说法叫插入数据&#xff09;方式一&#xff1a;db.COLLECTION…

Java入门:Java下载与安装方法

本文适合刚入门的Java编程的初学者阅读。 JDK有两种下载方法&#xff0c;一个是官网下载&#xff0c;另一个是第三方网站下载。官网速度也许有点慢&#xff0c;慢的话可以考虑去第三方网站下载。 一、官网下载 1. 访问地址&#xff1a;http://www.oracle.com/cn/downloads/inde…

jquery获得下拉框的值

获取Select &#xff1a; 获取select 选中的 text : $("#ddlRegType").find("option:selected").text(); 获取select选中的 value: $("#ddlRegType ").val(); 获取select选中的索引: $("#ddlRegType ").get(0).selectedIndex; 设置sel…

Java 7:如何编写非常快速的Java代码

当我第一次写此博客时&#xff0c;我的目的是向您介绍ThreadLocalRandom类&#xff0c;它是Java 7中新增的用于生成随机数的类。 我已在一系列微基准测试中分析了ThreadLocalRandom的性能&#xff0c;以了解其在单线程环境中的性能。 结果相对令人惊讶&#xff1a;尽管代码非常…

python 微信支付接口 详解_Python支付接口汇总大全(包含微信、支付宝等,长期更新、欢迎补充)...

wzhifuSDK- 由微信支付SDK 官方PHP Demo移植而来&#xff0c;v3.37下载地址学习Python中有不明白推荐加入交流群号&#xff1a;864573496群里有志同道合的小伙伴&#xff0c;互帮互助&#xff0c;群里有不错的视频学习教程和PDF&#xff01;weixin_pay- 是一个简单的微信支付的…

[地图开发][算法及数据结构]四叉树原理

参考&#xff1a;http://blog.csdn.net/zhouxuguang236/article/details/12312099 原博客地址还有c&#xff0b;&#xff0b;源码。。。 四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间&#xff0c;如此递归下去&…

mongoDB中的数据类型

Date mongo shell中提供各式各样的返回日期类型的方法&#xff0c;例如字符串类型或者Date对象类型&#xff1a; Date()返回当前的日期字符串&#xff1b;new Date()返回使用ISODate()包装的Date对象类型&#xff1b;ISODate()返回使用ISODate()包装的Date对象类型&#xff1b;…

C++ namespace

是否应该使用using(using namespace std) 注&#xff1a;我将namespace翻译成姓或士族。选择某个namespace中的变量、函数、组合类型&#xff0c;就像是在介绍某个人 姓 namespace, 名 variable。 参考&#xff1a; 1、Why is “using namespace std” considered bad practice…

按键 粘贴上一个命令_合并单元格、选择性粘贴的快捷键都是啥?今天一次告诉你……...

经常有人在群里问&#xff0c;合并单元格的快捷键是什么&#xff1f;选择性粘贴数值的快捷键是什么&#xff1f;今天就来聊聊快捷键的一些冷门知识……Alt键的作用快捷键其实就是一些组合键&#xff0c;主要用到Ctrl、shift、Alt这三个键其中之一或者是几个&#xff0c;再加上其…

Spring MVC和JQuery用于Ajax表单验证

在本教程中&#xff0c;我们将看到如何使用Ajax和Spring MVC和JQuery在服务器端验证表单。 Spring MVC为通过注释驱动的配置采用Ajax提供了非常方便的过程。 我们将使用此注释驱动的配置以JSON数据的形式发送Ajax响应。 响应将包含表单验证的状态&#xff0c;并且表单数据中存在…

myeclipse10.7破解成功 但 无法打war包 提示:securecrt alert:integrity ch

myeclipse10.7破解成功 但 无法打war包 提示&#xff1a;securecrt alert:integritycheck error找了好久才找到解决办法http://download.csdn.net/detail/yi303526230/6889101#comment本次对于myeclipse10破解后&#xff0c;导出war包时报“SECURITY ALERT: INTEGERITY CHECK E…

Mongodb的update操作

在前面的文章“mongodb 查询的语法”里&#xff0c;我介绍了Mongodb的常用查询语法&#xff0c;Mongodb的update操作也有点复杂&#xff0c;我结合自己的使用经验&#xff0c;在这里介绍一下&#xff0c;给用mongodb的朋友看看&#xff0c;也方便以后自己用到的时候查阅&#x…