gulp 安装与使用

本文介绍了使用gulp自动化构建和优化前端资源的过程,包括合并、压缩CSS和JS,以及使用less进行样式解析。
  1. 安装gulp

    npm install -g gulp

  2. gulp的plugins

    gulp-clean       清空文件夹
    gulp-rename      重命名
    gulp-concat      合并文件
    gulp-uglify      压缩JS
    gulp-minify-css  压缩CSS
    gulp-less        less
  3. 项目根目录下创建gulpfile.js

var gulp = require('gulp'),
    minify = require('gulp-minify-css'),
    uglify = require('gulp-uglify'),
    concat = require('gulp-concat'),
    rename = require('gulp-rename'),
    clean = require('gulp-clean'); 

//解析less
gulp.task('bulid-less',function(){
    gulp.src('./less/lib/cs.less')
    .pipe(less())
    .pipe(gulp.dest('./lib/css'));
});
//合并、压缩、重命名css
gulp.task('stylesheets', ["build-less"], function(){
    gulp.src(["./css/*.css","!./css/areaMap.css"])
        .pipe(concat("all.css"))
        .pipe(gulp.dest("./javis/static/build/css/"))
        .pipe(rename({ suffix: ".min" }))
        .pipe(minifycss())
        .pipe(gulp.dest("./javis/static/build/css"));
});
// 合并,压缩js文件
gulp.task("javascripts", function() {
  gulp.src("./javis/static/js/*.js")
    .pipe(concat("all.js"))
    .pipe(gulp.dest("./javis/static/build/js"))
    .pipe(rename({ suffix: ".min" }))
    .pipe(uglify())
    .pipe(gulp.dest("./javis/static/build/js"));
});

//清空图片、样式、js
gulp.task("clean", function() {  
    return gulp.src([
       "./javis/static/build/css/all.css",
       "./javis/static/build/css/all.min.css"
    ], {read: false})
    .pipe(clean({force: true}));
});
//将bower的库文件对应到指定位置
gulp.task("buildlib",function(){
  gulp.src("./bower_components/angular/angular.min.js")
      .pipe(gulp.dest("./js/"))
  gulp.src("./bower_components/fonts/*")
      .pipe(gulp.dest("./fonts/"))
  gulp.src("./bower_components/bootstrap/fonts/*")
      .pipe(gulp.dest("./fonts/"))
  gulp.src("./bower_components/bootstrap/dist/css/bootstrap.min.css")
      .pipe(gulp.dest("./css/"))
});
//定义develop任务在日常开发中使用
gulp.task("develop",function(){
  gulp.run("buildlib","build-less","javascripts","stylesheets");
  gulp.watch("./javis/static/less/*.less", ["build-less"]);
});
//定义一个prod任务作为发布或者运行时使用
gulp.task("prod",function(){
  gulp.run("buildlib","build-less","stylesheets","javascripts");  // 监听.less文件,一旦有变化,立刻调用build-less任务执行
  gulp.watch("./javis/static/less/*.less", ["build-less"]);
});// gulp命令默认启动的就是default认为,这里将clean任务作为依赖,也就是先执行一次clean任务,流程再继续.
gulp.task("default",["clean"], function() {
  gulp.run("develop");
});


转载于:https://my.oschina.net/yan5845hao/blog/411413

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值