gulp 搭建简单的脚手架

2018-05-16  本文已影响0人  苏苡

gulp模块简介:


一、简单的下载、安装:

(1)全局安装 :        

                          (cnpm) npm install gulp -g;

(2)初始化项目:     

                         (cnpm) npm init    (cnpm)  npm init -y (全部为yes状态)

(3)合并文件插件:   

                          (cnpm) npm install gulp-concat --save-dev

(4)本地安装gulp:    

                          (cnpm) npm install gulp --save-dev

(5)gulp语法检测:     

                         (cnpm)  npm install jshint gulp-jshint --save-dev

(6)gulp压缩js文件:  

                         (cnpm)  npm install gulp-uglify --save-dev

(7)gulp压缩css文件:  

                        (cnpm)  npm install gulp-minify --save-dev

(8)gulp sass 插件:   

                          (cnpm) npm install gulp-ruby-sass --save-dev

(9)gulp服务器:       

                           (cnpm) npm install gulp-webserver --save-dev

(10)gulp重命名:     

                           (cnpm) npm install gulp-rename --save-dev


二、模块引入以及简单使用:

(1)  压缩  重命名:

            var gulp = require(‘gulp’);                              //  gulp模块生成

            var minify = require('gulp-minify-css')              // 压缩文件模块

            var rename= require('gulp-rename')            // 重命名模块

            gulp.task('minifyTask'  ,function(){            // 发布任务  名称为minify

                    gulp.src ('./a/*.css')                       // *找到所有的css文件

                    .pipe(minify())                        // 压缩文件

                    .pipe(rename,function(path){          //  重命名函数

                           path.basename += '.min'              //生成压缩后的文件名称

                    })

                    .pipe(gulp.dest('./b'))            //生成文件

            })

             gulp.watch('./a.index.css',['copy'])               //监听文件    

(2)合并文件:

           var gulp = require(‘gulp’);               //  gulp模块生成           

          var minify = require('gulp-minify-css')         // 压缩文件模块           

          var concat= require('gulp-concat')             // 合并模块

        gulp.task('concatTask',function(){

                 gulp.src ('./a/*.css')                     //   *找到所有的css文件

                  .pipe(['a.css','b.css'])             //  要合并的文件   a.css   b.css

                  .pipe(concat('ab.css'))            //  合并成 ab.css

                  .pipe(minify())                         //   压缩文件

                  .pipe(gulp.dest('./dist/css'))          //   生成文件到dist/css中

             })

(3)服务器  web

             var gulp = require(‘gulp’);                   //  gulp模块生成           

              var webserver = require('gulp-webserver')              // 服务器模块           

               gulp.task('reverse',function(){

                      gulp.src ('./dist')                //   服务器目录

                    .pipe(webserver{

                                port:8080,             //   运行服务器

                                livereload:true,        //   启动liveReload

                                open:true,                          //    启动后自动打开网页

                                host:'localhost'                    //     本地服务器

                            })

                })

(4) sass 配置:

                 var gulp = require(‘gulp’);                  //  gulp模块生成                        

                var sass= require('gulp-ruby-sass')            //       sass模块

                gulp.task('sassTack',function(){

                        gulp.src ('./src/sass/css/*.css')                 //   所有sass文件

                        .on('error',sass.logErroe)                     //   错误提示

                        .pipe(gulp.dest('./dist'))           //  正确生成文件

                 }

(5)监听sass:

                gulp.task('sasswatch',function(){

                     gulp.watch(['./src/assets/css/**/*.scss','sassTack'])              //   可以是数组  执行多个监听

                })

(6)默认加载:

                gulp.task('default',[ 'sassTack','sasswatch','bil-bundel' ],           //     先加载数组,后执行默认加载

                   functon(){

                    })

(7)合并第三方文件:(多个文件)

                gulp.task('bil-bundel',function(){

                       var files = [           '文件1地址',‘文件2地址’....    ]            //   可以多个文件

                     return gulp.src(files)                               //     目录文件

                       .pipe(concat(‘bil-bundel.js’))                 //     合并文件

                      .pipe(uglify(lib-bundel.min.js))                            //   压缩文件

                    .pipe(gulp.dest('./dist'))                                  //   生成文件

                })

(8) 合并自己的 js 文件:(多个)

           gulp.task('jsTack',function(){

                .gulp.src('./src/**/*.js')                         //     目录文件

                .pipe(concat(app.js))                         //     合并文件

                .pipe(gulp.dest('./dist'))                           // 生成文件

            })

(9)打包文件:

          gulp.task('copyhtml',function(){

                    var file = [ './index',                       //    要打包的文件,可多个

                                     './src/**/*.html',                      //    所有的HTML文件

                                    '!./src/assets/**/*.html'  ]                   //     去除空的文件

                    gulp.src(file)                                                      //   目录文件

                    .pipe(gulp.dest('./dist'))                                    //  打包后的文件

            })

(10) html缓存

             gulp.task('revHtml', function () {

                      var files = ['./**/*.html', '!./dist/**', '!./html/**', '!./node_modules/**', '!./h5-wap/**', '!./index.html' ]

                    return gulp.src(files)

                    .pipe(rev())

                    .pipe(gulp.dest('./dist'))

                    .pipe(rev.manifest())

                    .pipe(gulp.dest('rev/html'))

                })

(11)scc缓存

                  gulp.task('revCss', function () {    

                            var files = ['./css/app.css'];    

                            return gulp.src(files)       

                             .pipe(rev())       

                             .pipe(gulp.dest('./dist'))       

                             .pipe(rev.manifest())       

                            .pipe(gulp.dest('rev/css'))

                })

上一篇下一篇

猜你喜欢

热点阅读