1.1.2 • Published 7 years ago

gulp-foal v1.1.2

Weekly downloads
5
License
MIT
Repository
github
Last release
7 years ago

gulp-foal

为gulp提供可定制参数的task

Install 安装

npm install gulp-foal --save-dev

Basic Usage 基本用法

Use gulp-foal like this:

'use strict';

var gulp = require('gulp');
var clean = require('gulp-clean');
var foal = require('gulp-foal')();

//use "foal.task(...)" to define a foal-task.
//使用 foal.task(...) 来定义一个 foal 任务
foal.task('clean_some', function(cleanPath) {
  //"return" shall not be missed for running foal-task orderly.
  //为了顺序执行 foal 任务,请别省略 return 语句
  return gulp.src(cleanPath)
    .pipe(clean());
});

gulp.task('default', function(cb) {
  //use "foal.run(...)" to run your foal-task with param.
  //使用 foal.run(...) 来执行带参数的 foal 任务
  foal.run(foal.clean_some('test_path'), cb);
  //put 'cb' to the end of foal-run-task-list when using foal-run in gulp-task for running gulp-task orderly.
  //当在gulp-task中使用foal.run时,请务必将 cb 放在foal.run函数列表的末尾,以保证gulp任务顺序执行
});

foal.run()

It ran just like gulp-sequence which means you can use it like this:

它跑起来和 gulp-sequence 类似,你可以像下面的例子那样使用它:

foal.run(task1('param'), [task2('param'), task3()], task4('param'), cb);

foal.task()

Foal-task is bind to object 'foal' by default. If you don't want it to, use like this:

foal 任务默认被绑定在foal对象下, 如果你不希望这样,如下

var my_foal_tasks = {};
var foal = require('gulp-foal')(my_foal_tasks);

foal.task('test', function(param) {/*...*/});

foal.run(my_foal_tasks.test(param));

Or like this: 或者这样

var foal = require('gulp-foal')();
var my_foal_tasks = {};
foal.bindTo(my_foal_tasks);

foal.task('test', function(param) {/*...*/});

foal.run(my_foal_tasks.test(param));

Task Combination 合并的任务

Combine your foal-task and run them like this:

如下所示,合并执行你的任务:

var foal = require('gulp-foal')(global);

gulp.task('default', ['all_page']);

gulp.task('all_page', () => {
  return gulp.src(`${PATH.DEVELOP}/page/*/`)
    .pipe(through.obj(function(file, enc, cb) {
      this.push(file);
      const pageName = file.relative;
      const pagePath = `${PATH.DEVELOP}/page/${pageName}`;
      foal.run(page(pageName, pagePath), cb);
    }));
});

foal.task('page', (pageName, pagePath) => {
  return foal.run([js(pageName, pagePath), css(pageName, pagePath)]);
});

foal.task('page_jsx', (pagePath) => {
  return gulp.src(`${pagePath}/**/*.jsx`)
    .pipe(react())
    .pipe(gulp.dest(`${pagePath}/.transform`))
});

foal.task('page_js', (pageName, pagePath) => {
  return gulp.src([`${PATH.DEVELOP}/common/.transform/**/*.js`, `${pagePath}/**/*.js`, `${pagePath}/.transform/**/*.js`])
    .pipe(concat(`${pageName}.js`))
    .pipe(gulp.dest(`${pagePath}/.build`))
})

foal.task('js', (pageName, pagePath) => {
  return foal.run(page_jsx(pagePath), page_js(pageName, pagePath));
});

foal.task('css', (pageName, pagePath) => {
  return gulp.src(`${pagePath}/*.scss`)
    .pipe(sass().on('error', sass.logError))
    .pipe(rename(`${pageName}.css`))
    .pipe(gulp.dest(`${pagePath}/.build`));
});

The MIT License (MIT)

Copyright (c) 2016 CJY fanluan058@gmail.com

1.1.2

7 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago