欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

gulp是前端開發(fā)過程中對代碼進行構(gòu)建的工具,是自動化項目的構(gòu)建利器;她不僅能對網(wǎng)站資源進行優(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運行的入口


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.運行;node.js輸入

gulp

會有報錯,提示 gulp-concat組件沒有安裝。開始安裝 :cnpm install gulp-concat --save-dev

再次運行 :gulp

再次報錯,提示gulp-uglify組件沒有安裝。開始安裝 :cnpm install gulp-uglify --save-dev

再次運行 :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'));
 
  });

重新運行 : gulp

結(jié)果:

會發(fā)現(xià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、可以使用插進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)文章

  • nodejs簡單實現(xiàn)操作arduino

    nodejs簡單實現(xiàn)操作arduino

    本文給大家分享的是使用nodejs來驅(qū)動arduino,主要是基于cylonjs 和 gort,有需要的小伙伴可以參考下
    2016-09-09
  • Node.js之IP地址和端口號問題

    Node.js之IP地址和端口號問題

    這篇文章主要介紹了Node.js之IP地址和端口號問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • node+multer實現(xiàn)圖片上傳的示例代碼

    node+multer實現(xiàn)圖片上傳的示例代碼

    這篇文章主要介紹了node+multer實現(xiàn)圖片上傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 詳細(xì)分析Node.js 多進程

    詳細(xì)分析Node.js 多進程

    這篇文章主要介紹了Node.js 多進程的的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • node.js 如何監(jiān)視文件變化

    node.js 如何監(jiān)視文件變化

    這篇文章主要介紹了node.js 如何監(jiān)視文件變化,幫助大家更好的理解和學(xué)習(xí)node.js,感興趣的朋友可以了解下
    2020-09-09
  • 輕松創(chuàng)建nodejs服務(wù)器(4):路由

    輕松創(chuàng)建nodejs服務(wù)器(4):路由

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(4):路由,服務(wù)器需要根據(jù)不同的URL或請求來執(zhí)行不一樣的操作,我們可以通過路由來實現(xiàn)這個步驟,需要的朋友可以參考下
    2014-12-12
  • Nodejs處理Json文件并將處理后的數(shù)據(jù)寫入新文件中

    Nodejs處理Json文件并將處理后的數(shù)據(jù)寫入新文件中

    這篇文章主要介紹了Nodejs處理Json文件并將處理后的數(shù)據(jù)寫入新文件中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • npm安裝的全局包/工具不能使用,不是內(nèi)部/外部命令的解決方法

    npm安裝的全局包/工具不能使用,不是內(nèi)部/外部命令的解決方法

    這篇文章主要給大家介紹了關(guān)于npm安裝的全局包/工具不能使用,不是內(nèi)部/外部命令的解決方法,文中通過圖文將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Node.js搭建Https服務(wù)過程詳解

    Node.js搭建Https服務(wù)過程詳解

    這篇文章主要為大家介紹了Node.js搭建Https服務(wù)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Nodejs中怎么實現(xiàn)函數(shù)的串行執(zhí)行

    Nodejs中怎么實現(xiàn)函數(shù)的串行執(zhí)行

    今天小編就為大家分享一篇關(guān)于Nodejs中怎么實現(xiàn)函數(shù)的串行執(zhí)行,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論