美文网首页
前端快速构建工具gulpjs的详细使用及操作

前端快速构建工具gulpjs的详细使用及操作

作者: 牵招 | 来源:发表于2018-10-29 23:33 被阅读0次

一.安装全局Gulp

打开cmd命令行工具

1.npm install --global gulp            //安装在c盘(即使不安装在C盘安装后也会自动映射至C盘)

2.npm install --save-dev gulp       //安装在项目文件下

3.在项目根目录下创建一个名为 gulpfile.js 的文件:

    var gulp = require('gulp');            //测试代码

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

    // 将你的默认的任务代码放在这

    });

4.运行 gulp

  在控制台中执行gulp

二.Gulp插件

   1.gulp的常用方法

        gulp.task(str,fn)            //创建一个gulp任务

        gulp.src(path)                //文件来源

        gulp.dest(path)               //操作之后的文件到哪里去

        .pipe(package)               //执行一个gulp功能

         gulp.watch()                  //监听

         gulp.start()                    //执行gulp任务

        2.插件(以下插件都是项目依赖)

         压缩JavaScript文件

        1.安装插件:

          npm install --save-dev gulp-uglify        //安装在所构建的主文件下

          2.压缩CSS文件

            npm install --save-dev gulp-minify-css

          3.压缩HTML文件

           npm install --save-dev gulp-minify-html

          4.压缩图片文件

            npm install --save-dev gulp-imagemin

          5.代码检查

            npm install --save-dev gulp-jshint jshint

            注意:很多公司是有自己learder修改的编码方式

          6.合并、重命名

            npm install --save-dev gulp-concat gulp-rename

          7.监听

            gulp.task("watchLess",function(){

                  gulp.watch("src/css/*.less",function(){

                  gulp.run("reless")

                  })

            })

安装完成插件后选择你要构建的文件,创建gulpfile.js:

项目文件树状图

gulpfile.js文件中引入插件

var gulp = require('gulp');

var jsUglify = require("gulp-uglify");

var cssUglify = require("gulp-minify-css");

var htmlUglify = require("gulp-minify-html");

var imgUglify = require("gulp-imagemin");

var myconcat = require("gulp-concat");

var myrename = require("gulp-rename");

var livereload = require("gulp-livereload");        //热更新(文后提到)

gulp.task("minjs",function(){      // 找到要操作的文件

  gulp.src("./js/apps/*.js")

      .pipe(jsUglify())

      .pipe(gulp.dest("dist/js"))

})

// 压缩css任务

gulp.task("mincss",function(){

  gulp.src("./style/*.css")

      .pipe(cssUglify())

      .pipe(gulp.dest("dist/css"))

})

// 压缩Image

gulp.task("minImg",function(){

  gulp.src("./images/*.{png,jpg,gif,ico,jpeg,svg}")

      .pipe(imgUglify({

          optimizationLevel: 5, //类型:Number  默认:3  取值范围:0-7(优化等级)

          progressive: true,    //类型:Boolean 默认:false 无损压缩jpg图片

          interlaced: true,    //类型:Boolean 默认:false 隔行扫描gif进行渲染

          multipass: true      //类型:Boolean 默认:false 多次优化svg直到完全优化

      }))

      .pipe(gulp.dest("dist/images"))

})

gulp.task("hot",function(){        //热更新(文后提到)

  livereload.listen();

  gulp.watch("index.html",function(event){

    livereload.changed(event.path);

  })

})

// 合并,压缩,重命名

gulp.task("final",function(){

  gulp.src("./js/apps/*.js")

      .pipe(myconcat("main.js"))  // mian.min.js

      .pipe(jsUglify())

      .pipe(myrename({

        suffix:".min"

      }))

      .pipe(gulp.dest("dist/js"))

})

// 每一个功能被称为一个任务

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

  gulp.start(["minjs","mincss","minImg"])

});

在cmd中输入gulp 运行成功会自动生成dist文件,包含压缩合并后的你在路径中选择的js,css,img文件:

      三.热更新

        1.命令:npm install gulp-livereload --save-dev

        2.全局服务器:npm install -g http-server

        3.浏览器打开:chrome://extensions/ 浏览器插件:LiveReload (直接点击启动)

        4.编写热更新的代码

          gulp.task("hot",function(){

            livereload.listen();

            gulp.watch("src/index.html",function(event){

              livereload.changed(event.path);

            })

          })

        5.启动热更新

          1.在项目根目录下启动http-server

          2.启动热更新:hot

          3.打开浏览器启动项目    localhost:8080

          4.启动浏览器(livereload)插件,将空心圆点成实心圆

相关文章

网友评论

      本文标题:前端快速构建工具gulpjs的详细使用及操作

      本文链接:https://www.haomeiwen.com/subject/qcsaiftx.html