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.pswp.cn/news/373595.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373595.shtml
英文地址,請注明出處:http://en.pswp.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…