gulp入门学习

gulp做为新一代前端项目自动化构件工具,已经广泛应用于前端工程中。大部分前端开发者对gulp已经再也不陌生,可是对于刚接触gulp的开发人员而言,也免不了些许迷茫。试着从本身学习和使用经验讲一讲。
首先,回顾当下本身所开发的前端项目,是否包含js、css、images静态资源,在项目上线前,咱们须要这些静态资源合并压缩。在学习自动化构件工具以前的开发流程中,咱们通常须要找到一些工具,我经常使用的有oschina在线工具koala(js/css编译压缩)TinyPNG(图片压缩),配置文件输入输出,upload、download、咱们不断重复着这些工做。烦不烦,反正我是有些厌倦了。javascript

咱们本该将更多的精力放在更有意义的事情上css

因此,grunt、gulp这一类构件工具出现了,将咱们解救于重复的工做中。就本身的理解,自动化构件工具的核心是将咱们的工做流抽离为一个个任务(task),根据咱们本身的需求,css的合并压缩能够为一个任务、js的合并压缩能够为一个任务、图片的压缩也能够为一个任务,咱们能够将上线前对静态资源的操做分红以上三个任务。最后,咱们只须要运行一个命令,这些任务就会自动执行。再加上对每一个文件变化的监听,每次文件的修改都会触发自动构建。妈妈不再担忧咱们作重复的事情了,是否是倍儿爽?前端

对于我,学习一个新的工具,首先是用起来。java

  • gulp须要依赖node环境运行,首先确保本身安装有node环境node

  • 全局安装gulp,npm install -g gulpgit

  • 在文件夹建立gulpfile.jsgithub

  • 文件夹下建立src/css/main.css和src/js/main.jsnpm

  • 安装gulp和gulp plugin,执行npm install --save-dev gulp {gulp插件名},以cssmin和uglifyjs为例,npm install --save-dev gulp-cssmin gulp-uglify gulp-renamegulp

  • 配置gulpfile,以cssmin和uglifyjs为例app

const gulp = require('gulp');
const cssmin = require('gulp-cssmin');
const rename = require('gulp-rename');
const uglify = require('gulp-uglify');

gulp.task('min:css', function () {
    return gulp.src('src/css/main.css')
    .pipe(cssmin())
    .pipe(rename({suffix: '.min'}))
    .pipe(gulp.dest('dist/css'));
});

gulp.task('min:js', function () {
    return gulp.src('src/js/main.js')
        .pipe(uglify())
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest('dist/js'));
});

gulp.task('default', ['min:js', 'min:css']);
  • 执行gulp,运行gulp default任务,执行gulp min:css,根据taskname执行单个任务

  • 执行结果,目录下有新增dist/css/main.min.css和dist/js/main.min.js压缩文件

根据以上步骤,gulp基本使用起来了。

本章源码托管于github/demo-gulp,但愿能对gulp初学者有帮助。

相关文章
相关标签/搜索