我想创建一个可重复使用的任务,所以我尝试了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
上?