Выпить задание после старта - PullRequest
0 голосов
/ 07 января 2019

У меня был следующий gulpfile:

const gulp = require('gulp');
const browserSync = require('browser-sync').create();
const sass = require('gulp-sass');

gulp.task('sass', () => {
  return gulp
    .src(['node_modules/bootstrap/scss/bootstrap.scss', 'src/scss/*.scss'])
.pipe(sass({ outputStyle: 'compressed' }))
.pipe(gulp.dest('../assets/css'))
.pipe(browserSync.stream());
});

gulp.task('js', () => {
  return gulp
    .src([
      'node_modules/bootstrap/dist/js/bootstrap.min.js',
      'node_modules/jquery/dist/jquery.min.js',
      'node_modules/popper.js/dist/umd/popper.min.js'
    ])
    .pipe(gulp.dest('../assets/js'))
    .pipe(browserSync.stream());
 });

gulp.task('serve', gulp.series('sass'), () => {
  browserSync.init({
    server: './src'
  });

  gulp.watch(
    ['node_modules/bootstrap/scss/bootstrap.min.scss',
    'src/scss/*.scss'],
    ['sass']);

  gulp.watch('../*.php').on('change', browserSync.reload);
});

gulp.task('default', gulp.series('js', 'serve'));

Когда я запускаю команду: gulp в моем терминале, все круто, но процесс завершается после запуска, поэтому я могу видеть изменения, но каждое изменение, если я хочу его видеть, мне нужно снова запустить команду, так что случиться?

Спасибо !!

1 Ответ

0 голосов
/ 07 января 2019

Изменить это:

gulp.watch(
   ['node_modules/bootstrap/scss/bootstrap.min.scss',
   'src/scss/*.scss'],

   ['sass']);  

к этому:

gulp.watch(
   ['node_modules/bootstrap/scss/bootstrap.min.scss',
   'src/scss/*.scss'],

   gulp.series('sass'));

В gulp4 нельзя использовать метод вызова задач ['someTask'].

gulp.task('serve', gulp.series('sass', (done) => {
  browserSync.init({
    server: './src'
  });

  gulp.watch(
    ['node_modules/bootstrap/scss/bootstrap.min.scss',
    'src/scss/*.scss'],
    gulp.series('sass'));

  gulp.watch('../*.php').on('change', browserSync.reload);
  done();

//  });   you had this
 }));   // needs to be this

И я добавил обратный вызов done, который может понадобиться в вашем коде. Но причина, по которой ваш код останавливался, заключалась в том, что для последней строки выше требовалась еще одна скобка.

...