gulp安裝以及打包合并的方法教程
前言
gulp是前端開發(fā)過程中對代碼進(jìn)行構(gòu)建的工具,是自動化項目的構(gòu)建利器;她不僅能對網(wǎng)站資源進(jìn)行優(yōu)化,而且在開發(fā)過程中很多重復(fù)的任務(wù)能夠使用正確的工具自動完成;使用她,我們不僅可以很愉快的編寫代碼,而且大大提高我們的工作效率。
安裝、打包合并
1.安裝node.js 下載地址: http://nodejs.cn/
打開node.js 命令行,輸入: node -v ,有版本號,則正確安裝。
2.安裝淘寶鏡像 :命令行輸入 :
npm install -g cnpm --registry=http://registry.npm.taobao.org
目的:使下在速度更快。
3.全局安裝gulp
cnpm install --global gulp
4.創(chuàng)建目錄,打開F盤,創(chuàng)建gulp文件夾。
命令行輸入 :
f: cd gulp
5.安裝本地gulp
cnpm install --save-dev gulp
6.創(chuàng)建package.json文件
cnpm init
一路enter確定就行
7.web編輯器打開此gulp目錄,如hbuilder、webstorm。
在gulp目錄下創(chuàng)建gulpfile.js文件,gulp運(yùn)行的入口

8.確定何種打包壓縮,html、js、css、img
9.js打包
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('default',function(){
gulp.src('js/*.js') // 路徑問題:gulpfile.js為路徑的起點。此路徑表示js文件下的所有js文件。
.pipe(concat('all.js')) //合并成的js文件名稱
.pipe(uglify()) //壓縮
.pipe(gulp.dest('build')); //打包壓縮在build目錄下。
});
10.運(yùn)行;node.js輸入
gulp
會有報錯,提示 gulp-concat組件沒有安裝。開始安裝 :cnpm install gulp-concat --save-dev
再次運(yùn)行 :gulp
再次報錯,提示gulp-uglify組件沒有安裝。開始安裝 :cnpm install gulp-uglify --save-dev
再次運(yùn)行 :gulp
。。。。。。。。。。。。。。。
成功之后會

這里會看到 finished ‘default' ,‘default' 就是gulp.task任務(wù)開始的默認(rèn)入口。如果創(chuàng)建多個task任務(wù),且修改任務(wù)名稱如:
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('default',function(){
gulp.src('js/*.js') // 路徑問題:gulpfile.js為路徑的起點。此路徑表示js文件下的所有js文件。
.pipe(concat('all.js')) //合并成的js文件名稱
.pipe(uglify()) //壓縮
.pipe(gulp.dest('build')); //打包壓縮在build目錄下。
})
//css 打包壓縮
var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css');
gulp.task('style', function() { //task 任務(wù)名稱為style
gulp.src('.css/*.css')
.pipe(concat('styles.css'))
.pipe(autoprefix('last 2 versions'))
.pipe(minifyCSS())
.pipe(gulp.dest('styles'));
});
重新運(yùn)行 : gulp
結(jié)果:

會發(fā)現(xiàn)只運(yùn)行了 default的task任務(wù)。因為這是唯一默認(rèn)的gulp執(zhí)行入口。
修改如下
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('js',function(){
gulp.src('js/*.js') // 路徑問題:gulpfile.js為路徑的起點。此路徑表示js文件下的所有js文件。
.pipe(concat('all.js')) //合并成的js文件名稱
.pipe(uglify()) //壓縮
.pipe(gulp.dest('build')); //打包壓縮在build目錄下。
})
//css 打包壓縮
var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css');
gulp.task('style', function() { //task 任務(wù)名稱為style
gulp.src('.css/*.css')
.pipe(concat('styles.css'))
.pipe(autoprefix('last 2 versions'))
.pipe(minifyCSS())
.pipe(gulp.dest('styles'));
});
<br>gulp.task('default',function(){
gulp.run(['js','style']); //這里開始執(zhí)行多個task任務(wù)
});
如果遇到什么組件沒有安裝的話,想你應(yīng)該知道怎么操作了。
11.圖片壓縮
var imagemin = require('gulp-imagemin');
gulp.task('img', function() {
return gulp.src('imgs/*.png')
.pipe(imagemin())
.pipe(gulp.dest('miniImg'));
});
12.html壓縮
var htmlmin = require('gulp-htmlmin');
gulp.task('html', function() {
return gulp.src('../*.html')
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest('../'));
});
13.路徑問題自己修改
gulp打包js/css時合并成一個文件時的順序解決
1、可以使用插進(jìn)gulp-order。
2、可以這樣的寫法:
return gulp.src(['js/common.js','js/**/*.js'])
.pipe(concat('build.js'))//合成到一個js
.pipe(gulp.dest(buildBasePath+'js'))//輸出到j(luò)s目錄
.pipe(uglify())//壓縮js到一行
.pipe(concat('build.min.js'))//壓縮后的js
.pipe(gulp.dest(buildBasePath+'js'));//輸出到j(luò)s目錄
總結(jié)
以上就是這篇文章的全部內(nèi)容了,只能說入個門,還有更多的功能。多看高人博客吧或官網(wǎng),希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Windows系統(tǒng)下Node.js的簡單入門教程
這篇文章主要介紹了Windows系統(tǒng)下Node.js的簡單入門教程,Node.js是用于后端編程的JavaScript框架,需要的朋友可以參考下2015-06-06
nodejs連接mongodb數(shù)據(jù)庫實現(xiàn)增刪改查
本篇文章主要結(jié)合了nodejs操作mongodb數(shù)據(jù)庫實現(xiàn)增刪改查,包括對數(shù)據(jù)庫的增加,刪除,查找和更新,有興趣的可以了解一下。2016-12-12
nodejs創(chuàng)建簡易web服務(wù)器與文件讀寫的實例
下面小編就為大家?guī)硪黄猲ode js系列課程-創(chuàng)建簡易web服務(wù)器與文件讀寫的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09

