2015-09-22 19 views
1

我的任務,我想跨多個項目共享,讓我感動他們另一個模塊,這是我從我的目標項目的gulpfile.js加載內。咕嘟咕嘟的任務是不可達

項目樹:

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; 
} 

但是,當我問已知的任務從「A計劃」中與gulp -T,該命令的輸出是空的...

我缺少什麼?

回答

1

我終於通過將gulp實例從gulpfile傳遞給模塊,並避免在本地需要gulp來實現它。

我結束了:

項目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

很高興我能幫助:) –