Я хотел бы создать повторно используемую задачу, поэтому я попробовал method one
следующим образом.
serve.js
const bs = require('browser-sync').create('serve');
function serve(baseDir, done) {
bs.init(
{
server: {
baseDir: baseDir,
},
},
);
done();
}
export default serve;
gulpfile.babel.js
import gulp from 'gulp';
import serve from './serve.js';
gulp.task('dev', gulp.series(
serve('./dev')
));
Выполнить gulp dev
, но ошибка отображается как TypeError: done is not a function
.
Я попытался добавить функцию-обертку для передачи baseDir
внутри задачи, теперь она работает.Давайте назовем это method two
.
serve.js
function serveWrapper(baseDir) {
return function serve(done) {
...
}
}
export default serveWrapper;
gulpfile.babel.js
import gulp from 'gulp';
import serveWrapper from './serve.js';
gulp.task('dev', gulp.series(
serveWrapper('./dev')
));
Но есть ли другой метод, поэтому мне не нужносоздать функцию-обертку?И почему сообщение об ошибке показывают на method one
?