前端工程化之路:初探 Gulp流式构建工具

用了一段事件的 webpack,感觉挺好用的,现在也试一下 gulp,这个工具上手起来其实也很快的。虽然它和 webpack 的原理相差很大,但是都能出色的完成任务。所以写一篇入门博客供以后参考。

什么是 gulp

流式自动化构建工具,简单的说就是,把输入的某些东西,经过某个管道处理后,输出需要的形式。

为什么要用 gulp

简单来说,就是减少我们一个一个构建的时间,使用这个工具自动化构建,如:scss 转化成 css, ES6 转化成 ES5, 等等,只要装了插件都能完成,最后就是把这些功能都写在一个函数里面,一起处理。

gulp 安装

和其他 npm 一样,直接输入命令
全局安装

npm install --global gulp

工程安装

npm install --save-dev gulp
gulp 使用

1.在工程目录里新建文件 gulpfile, 然后引入gulp

var gulp = require('gulp');

2.gulp 四个核心方法
- task() : 执行的任务
- src() : 输入的文件
- pipe() : 执行的管道方法,接在源后面或者其他管道后面
- dest() : 输出的位置

var gulp = require('gulp');

// 第一个参数为任务名(默认为default), 第一个是任务内容
gulp.task('default', function() {
    gulp.src('../source/*.js')
    .pipe(gulp.dest('../dest'));
});

3.gulp 插件使用

安装压缩插件

npm install --global gulp-uglify

使用插件

var gulp = require('gulp');
var uglify = require('gulp-uglify');

gulp.task('compess', function() {
    gulp.src('../source/js/*.js')
        .pipe(uglify())
        .pipe(gulp.dest('../dest/js'))
});

执行任务

gulp compress
gulp 实践

根据需要搜索想要的插件并安装gulp文档gulp插件
任务列表:

任务插件
检测jsgulp-jshint
scss => cssgulp-sass
jsx => jsgulp-react
es6 => es5gulp-babel
文件拷贝gulp-copy
文件合并gulp-concat
压缩jsgulp-uglify
压缩cssgulp-cssmin
压缩htmlgulp-htmlmin
压缩imggulp-imagemin

安装各种插件

npm insatll --global gulp-sass 
...

写构建任务

var gulp = require('gulp');
var sass = require('gulp-sass');
var jsinit = require('gulp-jsinit');
// ...
gulp.task('all', function() {
    gulp.src('../source/js')
        .pipe(react())
        .pipe(babel())
        .pipe(concat())
        .pipe(uglify())
        .pipe(gulp('../dest/js'));
    gulp.src('../source/css')
        .pipe(sass())
        .pipe(concat())
        .pipe(cssmin())
        .pipe('../dest/css');
    //...
});

执行任务

gulp all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值