2015-09-22 2 views
1

У меня есть задачи, которые я хотел бы поделиться с несколькими проектами, поэтому я переместил их в другой модуль, который загружаю из моего целевого проекта gulpfile.js.Задачи Gulp, определенные в модуле зависимостей, недоступны

Проект Дерево:

gulpfile.js 
package.json 
... 

gulpfile.js:

require('my-gulp-tasks')({ 
    version: '0.0.1', 
    production: utils.env.production, 
    port: ... 
    // misc settings to customize tasks 
}); 

Мой глотком задачи модуля дерева:

index.js 
tasks/ 
    clean.js 
    assets.js 
    ... 

index.js (упрощенная версия):

var gulp = require('gulp'); 

module.exports = function (settings) { 
    //... 

    gulp.task('clean', require('./tasks/clean')(settings)); 

    return gulp; 
} 

Но когда я спрашиваю для известных задач внутри «Проект А» с gulp -T, вывод команды пуст ...

Что мне не хватает?

ответ

1

Я, наконец, получил его, пропустив экземпляр gulp от модуля gulpfile и избегая необходимости в локальном использовании глотки.

я закончил с:

проекта A:

gulpfile.js:

var gulp = require('gulp'); 

require('my-gulp-tasks')(gulp, { 
    // settings... 
}); 

Мой глотком задачи модуля:

index.js:

module.exports = function (gulp, settings) { 
    //... 

    gulp.task('clean', require('./tasks/clean')(settings)); 

    return gulp; 
} 

clean.js:

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

module.exports = function (gulp) { 
    return function() { 
    return gulp.src('dist/**/*').pipe(rm()); 
    }; 
}; 
+0

Спасибо, что поделились своими результатами! Мне было интересно, как это сделать, и вы спасли мне кучу времени. – Aaronius

+0

Рад, что я мог помочь :) –

Смежные вопросы