最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

gulp安裝以及打包合并的方法教程

 更新時(shí)間:2017年11月19日 08:47:21   作者:changYao  
這篇文章主要給大家介紹了關(guān)于gulp實(shí)現(xiàn)人一個(gè)打包合并的方法教程,并分享了gulp打包js/css時(shí)合并成一個(gè)文件時(shí)的順序的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

gulp是前端開(kāi)發(fā)過(guò)程中對(duì)代碼進(jìn)行構(gòu)建的工具,是自動(dòng)化項(xiàng)目的構(gòu)建利器;她不僅能對(duì)網(wǎng)站資源進(jìn)行優(yōu)化,而且在開(kāi)發(fā)過(guò)程中很多重復(fù)的任務(wù)能夠使用正確的工具自動(dòng)完成;使用她,我們不僅可以很愉快的編寫(xiě)代碼,而且大大提高我們的工作效率。

安裝、打包合并

1.安裝node.js  下載地址: http://nodejs.cn/

打開(kāi)node.js 命令行,輸入: node  -v ,有版本號(hào),則正確安裝。

2.安裝淘寶鏡像 :命令行輸入 :

npm install -g cnpm --registry=http://registry.npm.taobao.org

目的:使下在速度更快。

3.全局安裝gulp

cnpm install --global gulp

4.創(chuàng)建目錄,打開(kāi)F盤(pán),創(chuàng)建gulp文件夾。

命令行輸入 :

f:

cd gulp

5.安裝本地gulp

cnpm install --save-dev gulp

6.創(chuàng)建package.json文件

cnpm init 

一路enter確定就行

7.web編輯器打開(kāi)此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') // 路徑問(wèn)題:gulpfile.js為路徑的起點(diǎn)。此路徑表示js文件下的所有js文件。
 .pipe(concat('all.js')) //合并成的js文件名稱(chēng)
 .pipe(uglify()) //壓縮
 .pipe(gulp.dest('build')); //打包壓縮在build目錄下。
});

10.運(yùn)行;node.js輸入

gulp

會(huì)有報(bào)錯(cuò),提示 gulp-concat組件沒(méi)有安裝。開(kāi)始安裝 :cnpm install gulp-concat --save-dev

再次運(yùn)行 :gulp

再次報(bào)錯(cuò),提示gulp-uglify組件沒(méi)有安裝。開(kāi)始安裝 :cnpm install gulp-uglify --save-dev

再次運(yùn)行 :gulp

。。。。。。。。。。。。。。。

 成功之后會(huì)

這里會(huì)看到 finished ‘default' ,‘default' 就是gulp.task任務(wù)開(kāi)始的默認(rèn)入口。如果創(chuàng)建多個(gè)task任務(wù),且修改任務(wù)名稱(chēng)如:

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
 
gulp.task('default',function(){ 
 gulp.src('js/*.js') // 路徑問(wèn)題:gulpfile.js為路徑的起點(diǎn)。此路徑表示js文件下的所有js文件。
 .pipe(concat('all.js')) //合并成的js文件名稱(chēng)
 .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ù)名稱(chēng)為style
 
  gulp.src('.css/*.css')
 
  .pipe(concat('styles.css'))
 
  .pipe(autoprefix('last 2 versions'))
 
  .pipe(minifyCSS())
 
  .pipe(gulp.dest('styles'));
 
  });

重新運(yùn)行 : gulp

結(jié)果:

會(huì)發(fā)現(xiàn)只運(yùn)行了 default的task任務(wù)。因?yàn)檫@是唯一默認(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') // 路徑問(wèn)題:gulpfile.js為路徑的起點(diǎn)。此路徑表示js文件下的所有js文件。
 .pipe(concat('all.js')) //合并成的js文件名稱(chēng)
 .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ù)名稱(chēng)為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']); //這里開(kāi)始執(zhí)行多個(gè)task任務(wù)
});

如果遇到什么組件沒(méi)有安裝的話(huà),想你應(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.路徑問(wèn)題自己修改

gulp打包js/css時(shí)合并成一個(gè)文件時(shí)的順序解決

1、可以使用插進(jìn)gulp-order。

2、可以這樣的寫(xiě)法:

return gulp.src(['js/common.js','js/**/*.js'])
.pipe(concat('build.js'))//合成到一個(gè)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é)

以上就是這篇文章的全部?jī)?nèi)容了,只能說(shuō)入個(gè)門(mén),還有更多的功能。多看高人博客吧或官網(wǎng),希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • NodeJS收發(fā)GET和POST請(qǐng)求的示例代碼

    NodeJS收發(fā)GET和POST請(qǐng)求的示例代碼

    本篇文章主要介紹了NodeJS收發(fā)GET和POST請(qǐng)求的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 學(xué)習(xí)Nodejs之fs模塊的使用詳解

    學(xué)習(xí)Nodejs之fs模塊的使用詳解

    這篇文章主要為大家詳細(xì)介紹了Nodejs之fs模塊的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 我的Node.js學(xué)習(xí)之路(一)

    我的Node.js學(xué)習(xí)之路(一)

    這是一篇專(zhuān)門(mén)Node.js初學(xué)者學(xué)習(xí)筆記。該筆記將通過(guò)具體實(shí)例,教你一步步開(kāi)始Node.js之旅。
    2014-07-07
  • Windows系統(tǒng)下Node.js的簡(jiǎn)單入門(mén)教程

    Windows系統(tǒng)下Node.js的簡(jiǎn)單入門(mén)教程

    這篇文章主要介紹了Windows系統(tǒng)下Node.js的簡(jiǎn)單入門(mén)教程,Node.js是用于后端編程的JavaScript框架,需要的朋友可以參考下
    2015-06-06
  • Nodejs對(duì)postgresql基本操作的封裝方法

    Nodejs對(duì)postgresql基本操作的封裝方法

    今天小編就為大家分享一篇Nodejs對(duì)postgresql基本操作的封裝方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • nodejs連接mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查

    nodejs連接mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查

    本篇文章主要結(jié)合了nodejs操作mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查,包括對(duì)數(shù)據(jù)庫(kù)的增加,刪除,查找和更新,有興趣的可以了解一下。
    2016-12-12
  • Mac下通過(guò)brew安裝指定版本的nodejs教程

    Mac下通過(guò)brew安裝指定版本的nodejs教程

    今天小編就為大家分享一篇Mac下通過(guò)brew安裝指定版本的nodejs教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 詳解如何實(shí)現(xiàn)自由切換Node.js版本

    詳解如何實(shí)現(xiàn)自由切換Node.js版本

    作為開(kāi)發(fā)者,我們經(jīng)常在不同的項(xiàng)目中需要使用不同版本的 Node.js,有時(shí)舊項(xiàng)目需要舊版本,而新項(xiàng)目則可能依賴(lài)最新的 Node.js 版本,本文將介紹幾種常用的方法來(lái)自由切換 Node.js 版本,需要的朋友可以參考下
    2024-10-10
  • nodejs創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫(xiě)的實(shí)例

    nodejs創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫(xiě)的實(shí)例

    下面小編就為大家?guī)?lái)一篇node js系列課程-創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫(xiě)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 基于node.js實(shí)現(xiàn)爬蟲(chóng)的講解

    基于node.js實(shí)現(xiàn)爬蟲(chóng)的講解

    今天小編就為大家分享一篇關(guān)于基于node.js實(shí)現(xiàn)爬蟲(chóng)的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02

最新評(píng)論

徐州市| 霞浦县| 吉木萨尔县| 和林格尔县| 安徽省| 和静县| 苏尼特右旗| 宜阳县| 武乡县| 泰宁县| 精河县| 芮城县| 沙洋县| 庆安县| 新昌县| 罗平县| 保山市| 和田县| 贡山| 逊克县| 沈丘县| 文昌市| 奉节县| 渝北区| 曲靖市| 长泰县| 盱眙县| 九江县| 云梦县| 扎兰屯市| 通渭县| 焉耆| 石棉县| 梧州市| 新郑市| 漳州市| 区。| 喀喇| 霍城县| 湘乡市| 大石桥市|