Глоток Бабель не наблюдает за изменениями сценария - PullRequest
0 голосов
/ 26 февраля 2020

Я вижу, что есть много вопросов о том, что часы глотка не смотрят, но в моих случаях кажется, что они указываются только для babel. В остальном вроде нормально работает. Он даже переопределяет браузер после изменения app.js.

Однако он записывает файл all.js только при (пере) запуске gulp. Не после каждого изменения. И я хотел бы сначала обновить sh файл all.js и перезагрузить браузер после. Но он вообще не переписывает файл all.js.

Есть идеи, что я могу изменить в своем файле gulpfile?

const gulp = require("gulp");
const babel = require("gulp-babel");
const sass = require("gulp-sass");
const sourcemaps = require("gulp-sourcemaps");
const autoprefixer = require("gulp-autoprefixer");
const browserSync = require("browser-sync");
const reload = browserSync.reload;
const concat = require("gulp-concat");

sass.compiler = require("node-sass");

gulp.task('babel', () =>
    gulp.src('js/*.js')
        .pipe(sourcemaps.init())
        .pipe(babel({
            presets: ['@babel/env']
        }))
        .pipe(concat('all.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('.'))
        .pipe(reload({ stream: true }))
);

gulp.task("browser-sync", function() {
  const files = ["./scss/*.scss", "./*.php", "./js/*.js",];
  browserSync.init(files, {
    proxy: "http://mtw:81",
    notify: true
  });
});

const css = function() {
  return gulp
    .src("./scss/mtw.scss")
    .pipe(sourcemaps.init())
    .pipe(
      sass({
        outputStyle: "extended"
      }).on("error", sass.logError)
    )
    .pipe(autoprefixer())
    // .pipe(sourcemaps.write("."))
    .pipe(sourcemaps.write())
    .pipe(concat("style.css"))
    .pipe(gulp.dest("./"))
    .pipe(reload({ stream: true }));
};

const watch = function(cb) {
  // gulp.watch("./scss/**/*.scss", gulp.series);
  gulp.watch("./scss/**/*.scss", gulp.series(css));
  gulp.watch("./js/*.js"), gulp.series("babel");
  gulp.watch("./*.php").on("change", browserSync.reload);
  cb();
};

exports.css = css;
exports.watch = watch;
exports.default = gulp.series(css, "babel", watch, "browser-sync");

Узел: v13.5.0

Пути верны. Gulpfile находится в папке root. исходное приложение. js находится в папке / js /, а файл all. js также находится в root, где находится файл gulpfile.

...