Часы Gulp 4 работают, но мне нужно перезапустить сервер, чтобы увидеть изменения? - PullRequest
0 голосов
/ 06 февраля 2020

Мне удается запустить gulp watch. Он открывает localhost:8000, а также обнаруживает изменения и обновляет static/sass/**/*.scss до static/css. Кажется, все работает, но мои изменения стиля не применяются к моему localhost: 8000, даже когда я вижу, что файл в static/css обновляется соответствующим образом.

Мне нужно перезапустить сервер, чтобы увидеть изменения. Почему часы не обновляют мой вид, если я не перезагружаюсь? это проблема с кешем? или я что-то не так делаю на своем gulpfile.js?

var gulp = require("gulp");
var sass = require("gulp-sass");
var browserSync = require("browser-sync").create();
var exec = require('child_process').exec;

var paths = {
  styles: {
    src: "static/sass/**/*.scss",
    dest: "static/css"
  },
  html: {
    src: "**/templates/**/*.html",
  },
  js: {
    src: "static/js/**/*.js",
  },
};

function style() {
  return (
    gulp
      .src(paths.styles.src)
      .pipe(sass({ outputStyle: 'compressed' }).on('error', sass.logError))
      .pipe(gulp.dest(paths.styles.dest))
      .pipe(browserSync.stream())
  );
}
exports.style = style;


function runserver() {
  var proc = exec('python manage.py runserver')
}

function reload() {
  browserSync.reload();
}

function watch() {
  browserSync.init({
    injectChanges: true,
    notify: false,
    port: 8000,
    proxy: 'localhost:8000'
  });

  gulp.watch(paths.styles.src, gulp.series('style'));

  gulp.watch(paths.styles.src).on('change', browserSync.reload);
  gulp.watch(paths.html.src).on('change', browserSync.reload);
  gulp.watch(paths.js.src).on('change', browserSync.reload);
}
exports.watch = watch

1 Ответ

0 голосов
/ 06 февраля 2020

Попробуйте удалить эту строку:

 gulp.watch(paths.styles.src).on('change', browserSync.reload);   // disable this

Скорее всего, она вступит в конфликт / гонку с этой строкой:

.pipe(browserSync.stream())  // leave this

, которая делает то же самое правильно в конце вашего style задача.

...