Loading tasks through parent folder

I want Gulp to load and run a task that is in a different folder.

For example:

files tree:

  • root
    • lib
      • task.js
    • proj
      • gulpfile.js

task.js:

var gulp = require('gulp');
gulp.task('myTask', function() {
    console.log('done!');
});

and gulpfile.js:

var gulp = require('gulp');
gulp.task('default', ['myTask']);

What I've tried so far:

  • require('../lib/task.js')
  • require('require-dir')('../lib/')

In both cases I can see task.js is loaded, but I get the following error:

Task 'myTask' is not in your gulpfile

When task.js is in the proj folder or in a sub folder of it - it works fine, so I think it has something to do about going up to the parent folder through "../" .

Why is this happening and what can be done?

you can use NodeJS's global or module.exports for this purpose.

http://www.hacksparrow.com/global-variables-in-node-js.html