[关闭]
@yiranphp 2016-09-19T07:23:00.000000Z 字数 999 阅读 1556

gulp 步步为营

frontend build


在此输入正文

gulp安装和配置

1、安装

  1. //全局安装
  2. npm install --g gulp
  3. //在项目中安装,node_modules
  4. npm install --save-dev gulp
  5. //安装gulp 插件
  6. npm install --save-dev gulp-uglify

2、创建gulpfile.js(注意:文件名必须是gulpfile.js)

  1. var gulp = require('gulp');
  2. gulp.task('default', function() {
  3. // place code for your default task here
  4. });

gulp Api

gulp.task(name, fun)

注册一个 gulp 任务

  1. /*
  2. *@param taskname 任务名称
  3. *@param [] 任务依赖前置,必须执行完这个数组的任务,才可以执行任务
  4. *@param fn 任务逻辑
  5. */
  6. gulp.task("taskName", [taskDep1, taskDep2, ...], fn);
  7. 命令行 gulp taskName,即可执行gulp任务
  8. 注意:gulp.task('default'fn),是默认执行任务,在命令行启动gulp,默认执行动作
  9. 也可以直接gulp.task("taskName", [taskDep1, taskDep2, ...]);
  10. // 任务是并行运行的,不是按照顺序
  11. 写例子详细解释任务的先后顺序

gulp.src(glob)

glob 是目标文件的路径,返回一个可读的 stream

  1. gulp.src('index.js');
  2. //数组,可以匹配多个路径,!开始表示排除
  3. gulp.src(['js/**/*.js', '!js/**/*.min.js']);

gulp.dest

dest方法将管道的输出写入文件,同时将这些输出继续输出,所以可以依次调用多次dest方法,将输出写入多个目录。如果有目录不存在,将会被新建

  1. gulp.dest("dist/assets")

写一个简单的例子,使用src和dest拷贝多个文件

gulp.watch(glob [, opts], tasks) or gulp.watch(glob [, opts, cb]);

写一个简单的例子,使用gulp.watch

gulp plugins

gulp插件官网

一些常用的插件:
gulp-concat
gulp-uglify
gulp-rename

一些技巧和方法

命令行的传参

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注