(относится к Gulp 4.0 / ES6)
Я хотел бы создать файл задачи, который можно импортировать из основного файла gulpfile.js, а также запускать непосредственно из командной строки, используя gulp (в этом случае даже без ссылки на файл gulpfile.js в командной строке). Это возможно?
Я могу создать файл задания gulp, который можно запустить напрямую:
проблемно-a.js:
const log = require('fancy-log');
function taskA(done){
// do stuff
log('Executing task A');
done();
}
exports.default = taskA;
Запуск из командной строки:
gulp -f task-a.js
[17:53:21] Using gulpfile C:\app\task-a.js
[17:53:21] Starting 'default'...
[17:53:21] Executing task A
[17:53:21] Finished 'default' after 2.73 ms
Хорошо, хорошо выглядит.
Чтобы импортировать в gulpfile.js, мне нужно изменить экспорт в task-a.js на:
проблемно-a.js:
// modified the exports for require()
module.exports taskA;
gulpfile.js:
const taskA = require('./task-a');
gulp.task('default', taskA);
gulp -f gulpfile.js
ОК, это тоже работает.
Но можно ли изменить экспорт в task-a.js, чтобы разрешить как импорт, так и запуск из командной строки с помощью gulp?