Я использую процесс командной строки (называемый ksyn c), который синхронизирует файлы на удаленном сервере. Я использую браузер c с глотком. Я хочу, чтобы browsersyn c перезагрузился после завершения синхронизации c. Поэтому я настроил инструмент syn c для вывода в файл журнала:
ksync watch > ksync.log
и заставил browsersyn c отслеживать файл на предмет изменений.
Проблема в том, что broswersyn c перезагружается, только когда я открываю файл журнала в своей IDE (VS Code) или если я переключаюсь на другую вкладку и затем снова возвращаюсь.
Это мой компьютер настройка:
- Browsersyn c [2.26.7]
- Узел [12.16.1]
- Npm [6.14.4]
- Gulp [4.0.2]
- Windows [10, версия 1903, сборка операционной системы 18362.720]
gulpfile. js:
const gulp = require('gulp');
const sourcemaps = require('gulp-sourcemaps');
const plumber = require("gulp-plumber");
const rename = require("gulp-rename");
const browsersync = require("browser-sync").create();
const cssnano = require("cssnano");
const autoprefixer = require("autoprefixer");
const postcss = require("gulp-postcss");
const sass = require("gulp-sass");
sass.compiler = require('node-sass');
//* FILE LOCATION CONSTANTS
const base = "./public/";
const assets = base + "assets/";
const cssFiles = assets + "css/";
const sassFiles = assets + "scss/";
//? BROWSERSYNC
function browserSync(done) {
browsersync.init({
proxy: "https://my-project.dev",
browser: ["firefox"],
files: [
{
match: ["./ksync.log"],
fn: function (event, file) {
this.reload();
},
options: {
ignored: '*.txt'
}
}
],
watchEvents : [ 'change', 'add', 'unlink', 'addDir', 'unlinkDir' ]
});
done();
}
function browserSyncReload(done) {
browsersync.reload();
done();
}
// GULP TASKS
function styles() {
return gulp.src(sassFiles + "main.scss")
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(sass({
outputStyle: "expanded"
}))
.pipe(gulp.dest(cssFiles))
.pipe(rename({
suffix: ".min"
}))
.pipe(postcss([autoprefixer(), cssnano()]))
.pipe(sourcemaps.write(cssFiles))
.pipe(gulp.dest(cssFiles))
.pipe(browsersync.stream());
}
function watchAssets(done) {
gulp.watch((sassFiles + "**/*"), styles);
done();
}
const develop = gulp.parallel(watchAssets, browserSync);
exports.default = develop;
```