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

gulp教程_從入門到項(xiàng)目中快速上手使用方法

 更新時間:2017年09月14日 08:37:57   作者:ghostwu  
下面小編就為大家?guī)硪黄猤ulp教程_從入門到項(xiàng)目中快速上手使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

gulp是什么?

gulp 是基于 node 實(shí)現(xiàn) Web 前端自動化開發(fā)的工具,利用它能夠極大的提高開發(fā)效率。在 Web 前端開發(fā)工作中有很多“重復(fù)工作”,比如壓縮CSS/JS文件。而這些工作都是有規(guī)律的。找到這些規(guī)律,并編寫 gulp 配置代碼,讓 gulp 自動執(zhí)行這些“重復(fù)工作”

一、安裝gulp與壓縮js文件

命令:

npm install gulp -g

npm install gulp --save-dev

初始化項(xiàng)目package.json的配置:npm init --yes

創(chuàng)建項(xiàng)目的目錄結(jié)構(gòu)

 demo2
 -----dist
 -----src
     -css
     -img
     -js
 -----gulpfile.js
 -----package.json

在js目錄下新建文件( lib.js )

 var Oper = {
   add : function( n1, n2 ){
     return n1 + n2;
   },
   sbb : function( n1, n2 ){
     return n1 - n2;
   }
 }

安裝壓縮js的插件: npm install gulp-uglify --save-dev,

然后在gulpfile.js中,輸入任務(wù)處理代碼

 var gulp = require( 'gulp' );
 var uglify = require( 'gulp-uglify' );
 
 gulp.task('min-js', function() {
   gulp.src('src/js/*.js')
     .pipe( uglify() )
     .pipe( gulp.dest('dist/js') );
 });

gulp.task(name, fn) - 定義任務(wù),第一個參數(shù)是任務(wù)名,第二個參數(shù)是任務(wù)內(nèi)容。

gulp.src(path) - 選擇文件,傳入?yún)?shù)是文件路徑。

gulp.dest(path) - 輸出文件

gulp.pipe() - 管道,你可以暫時將 pipe 理解為將操作加入執(zhí)行隊列

在命令行執(zhí)行任務(wù): gulp min-js

就會在 dist/js/lib.js 生成壓縮文件

var Oper={add:function(n,r){return n+r},sbb:function(n,r){return n-r}};

在demo2目錄下創(chuàng)建index.html,輸入以下測試代碼

 <script src="./dist/js/lib.js"></script>
   <script>
     alert( Oper.add( 100, 200 ) );
   </script>

發(fā)現(xiàn)壓縮好的lib.js文件是可以正常使用的

二、壓縮css文件

安裝插件: npm install gulp-clean-css --save-dev

demo2/src/css下新建文件style.css

html,body {
  margin:0;
  padding:0;
}
li {
  list-style-type:none;
}
a{
  text-decoration: none;
  color:#666;
}

在gulpfile.js文件中添加壓縮css的任務(wù)

var gulp = require( 'gulp' );
var uglify = require( 'gulp-uglify' );
var cleanCSS = require( 'gulp-clean-css' );

gulp.task('min-js', function() {
  gulp.src('src/js/*.js')
    .pipe( uglify() )
    .pipe( gulp.dest('dist/js') );
});

gulp.task('min-css', function() {
  gulp.src('src/css/*.css')
    .pipe( cleanCSS() )
    .pipe( gulp.dest('dist/css') );
});

然后在命令行執(zhí)行g(shù)ulp min-css任務(wù) 就會在dist/css生成style.css壓縮文件

 body,html{margin:0;padding:0}li{list-style-type:none}a{text-decoration:none;color:#666}

三、編譯less文件

安裝插件:npm install gulp-less --save-dev

在src/css下面新建style.less文件

@c1 : green;
@c2 : red;
div {
  width:200px;
  height:200px;
  background:@c1;
  div {
    background:@c2;
    transition:all ease 1s;
  }
}

gulpfile.js中添加任務(wù):

var gulp = require( 'gulp' );
var uglify = require( 'gulp-uglify' );
var cleanCSS = require( 'gulp-clean-css' );
var less = require('gulp-less');

gulp.task('min-js', function() {
  gulp.src('src/js/*.js')
    .pipe( uglify() )
    .pipe( gulp.dest('dist/js') );
});

gulp.task('min-css', function() {
  gulp.src('src/css/*.css')
    .pipe( cleanCSS() )
    .pipe( gulp.dest('dist/css') );
});

gulp.task( 'compile-less', function(){
  gulp.src( 'src/css/*.less' )
    .pipe( less() )
    .pipe( gulp.dest( 'dist/less' ) );
} );

執(zhí)行任務(wù): gulp compile-less,在dist/less中生成style.css文件

 div {
  width: 200px;
  height: 200px;
  background: green;
 }
 div div {
  background: red;
  transition: all ease 1s;
 }

四、合并js文件

安裝插件:npm install gulp-concat --save-dev

demo2/src/js新建lib2.js文件:

 function $( id ){
   return document.getElementById( id );
 }

在gulpfile.js中新增任務(wù):

var gulp = require( 'gulp' );
var uglify = require( 'gulp-uglify' );
var cleanCSS = require( 'gulp-clean-css' );
var less = require('gulp-less');
var concat = require('gulp-concat');

gulp.task('min-js', function() {
  gulp.src('src/js/*.js')
    .pipe( uglify() )
    .pipe( gulp.dest('dist/js') );
});

gulp.task( 'concat-file', function(){
  gulp.src( 'src/js/*.js' )
    .pipe( concat('all.min.js') )
    .pipe( uglify() )
    .pipe( gulp.dest( 'dist/js' ) );
} );

gulp.task('min-css', function() {
  gulp.src('src/css/*.css')
    .pipe( cleanCSS() )
    .pipe( gulp.dest('dist/css') );
});

gulp.task( 'compile-less', function(){
  gulp.src( 'src/css/*.less' )
    .pipe( less() )
    .pipe( gulp.dest( 'dist/less' ) );
} );

執(zhí)行任務(wù):gulp concat-file

在dist/js下面生成all.min.js文件

 function $(n){return document.getElementById(n)}var Oper={add:function(n,t){return n+t},sbb:function(n,t){return n-t}};

五、自動監(jiān)測文件變化,執(zhí)行任務(wù)

 gulp.task( 'auto', function(){
   gulp.watch( 'src/js/*.js', ['min-js'] );
   gulp.watch( 'src/css/*.css', ['min-css'] );
 } );
 gulp.task( 'default', ['auto'] );

這里添加了一個默認(rèn)任務(wù)default: 執(zhí)行auto任務(wù),auto里面自動監(jiān)測壓縮js和壓縮css任務(wù)

在命令行直接執(zhí)行g(shù)ulp.

要執(zhí)行其他任務(wù),只需要按照這幾步就可以了:

1,安裝相應(yīng)的插件

2,添加相應(yīng)的任務(wù)

3,執(zhí)行任務(wù)

以上這篇gulp教程_從入門到項(xiàng)目中快速上手使用方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談gulp創(chuàng)建完整的項(xiàng)目流程

    淺談gulp創(chuàng)建完整的項(xiàng)目流程

    本篇文章主要介紹了淺談gulp創(chuàng)建完整的項(xiàng)目流程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 小程序自定義圓形進(jìn)度條

    小程序自定義圓形進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了小程序自定義圓形進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 使用Axios攔截器優(yōu)化HTTP請求與響應(yīng)的實(shí)踐案例

    使用Axios攔截器優(yōu)化HTTP請求與響應(yīng)的實(shí)踐案例

    在前端開發(fā)中,HTTP 請求是與后端交互的重要方式,為了提高代碼的可維護(hù)性、復(fù)用性以及用戶體驗(yàn),使用 Axios 攔截器是非常常見的做法,本文將詳細(xì)介紹如何使用 Axios 的請求攔截器和響應(yīng)攔截器,需要的朋友可以參考下
    2024-11-11
  • JavaScript獲取某一天所在的星期

    JavaScript獲取某一天所在的星期

    我們會遇到的需求是,獲取今天或者某一天所在星期的開始和結(jié)束日期。今天小編通過實(shí)例代碼給大家分享JavaScript獲取某一天所在的星期,感興趣的朋友跟隨小編一起看看吧
    2019-09-09
  • 極易被忽視的javascript面試題七問七答

    極易被忽視的javascript面試題七問七答

    這篇文章主要為大家詳細(xì)介紹了一道極易被忽視的javascript面試題七問七答,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JS+CSS實(shí)現(xiàn)鼠標(biāo)滑過時動態(tài)翻滾的導(dǎo)航條效果

    JS+CSS實(shí)現(xiàn)鼠標(biāo)滑過時動態(tài)翻滾的導(dǎo)航條效果

    這篇文章主要介紹了JS+CSS實(shí)現(xiàn)鼠標(biāo)滑過時動態(tài)翻滾的導(dǎo)航條效果,涉及JavaScript動態(tài)設(shè)置css樣式動畫過度效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • JavaScript實(shí)現(xiàn)計算多維嵌套數(shù)組深度

    JavaScript實(shí)現(xiàn)計算多維嵌套數(shù)組深度

    在前端開發(fā)中,經(jīng)常會遇到需要處理多維嵌套的數(shù)據(jù)結(jié)構(gòu),并需要計算出它們的深度,本文就來講講如何使用JavaScript實(shí)現(xiàn)計算多維嵌套數(shù)組深度吧
    2023-06-06
  • 微信小程序?qū)崿F(xiàn)底部彈出模態(tài)框

    微信小程序?qū)崿F(xiàn)底部彈出模態(tài)框

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)底部彈出模態(tài)框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 微信小程序使用picker組件出現(xiàn)的問題探究

    微信小程序使用picker組件出現(xiàn)的問題探究

    這篇文章主要介紹了微信小程序自定義可搜索的picker組件,主要包括自定義可搜索的picker組件的代碼以及調(diào)用實(shí)例,這里的搜索框使用的是vant微信小程序組件庫,picker使用的微信小程序的原生組件,需要的朋友可以參考下
    2023-01-01
  • layui之table checkbox初始化時選中對應(yīng)選項(xiàng)的方法

    layui之table checkbox初始化時選中對應(yīng)選項(xiàng)的方法

    今天小編就為大家分享一篇layui之table checkbox初始化時選中對應(yīng)選項(xiàng)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09

最新評論

阿拉善右旗| 江川县| 利津县| 阜康市| 茌平县| 淮滨县| 日照市| 平凉市| 临洮县| 会宁县| 萨迦县| 华坪县| 自贡市| 瑞昌市| 东乌珠穆沁旗| 平利县| 攀枝花市| 北流市| 太仆寺旗| 吴忠市| 柳州市| 东乌珠穆沁旗| 怀柔区| 化州市| 陵川县| 封开县| 元朗区| 剑阁县| 怀来县| 电白县| 台东县| 南康市| 华宁县| 乌海市| 大埔县| 洛隆县| 伊春市| 濮阳市| 汕头市| 绥德县| 武强县|