Передать параметр в задание gulp 4 - PullRequest
0 голосов
/ 27 октября 2018

Я хотел бы создать повторно используемую задачу, поэтому я попробовал 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...