Я работаю с конфигурацией gulp, которую я перенес на gulp 4 и использую browserSync
, но не могу заставить работать сборку и наблюдение. Я могу запустить и запустить browserSync
, но ни одно из изменений, которые я делаю в моем каталоге scss
, не обновляется, и нет ошибок, показывающих, что код неправильный. Что-нибудь выделяется в моей конфигурации?
Я запускаю gulp watch
для запуска конфигурации.
Вот вывод:
> gulp watch
[12:19:58] Using gulpfile ~/Desktop/Projects/node/theme-kit/gulpfile.js
[12:19:58] Starting 'watch'...
[12:19:58] Starting 'browserSync'...
[Browsersync] Access URLs:
-------------------------------------
Local: http://localhost:3012
External: http://xx.xx.xx.xxx:3012
-------------------------------------
UI: http://localhost:3001
UI External: http://localhost:3001
-------------------------------------
[Browsersync] Serving files from: ./
Вот мой gulp.js
:
var gulp = require("gulp"),
sass = require("gulp-sass"),
sourcemaps = require("gulp-sourcemaps"),
cleanCss = require("gulp-clean-css"),
rename = require("gulp-rename"),
postcss = require("gulp-postcss"),
autoprefixer = require("autoprefixer"),
browserSync = require("browser-sync").create();
gulp.task("browserSync", function() {
browserSync.init({
port: 3012,
server: {
baseDir: "./",
port: 3011
}
});
});
gulp.task("build-theme", function() {
return gulp
.src(["scss/*.scss"])
.pipe(sourcemaps.init())
.pipe(sass().on("error", sass.logError))
.pipe(
postcss([
autoprefixer({
browsers: [
"Chrome >= 35",
"Firefox >= 38",
"Edge >= 12",
"Explorer >= 10",
"iOS >= 8",
"Safari >= 8",
"Android 2.3",
"Android >= 4",
"Opera >= 12"
]
})
])
)
.pipe(sourcemaps.write())
.pipe(gulp.dest("css/"))
.pipe(cleanCss())
.pipe(rename({ suffix: ".min" }))
.pipe(gulp.dest("css/"))
.pipe(
browserSync.reload({
stream: true
})
);
});
gulp.task("watch", gulp.series("browserSync", "build-theme", function() {
gulp.watch(["scss/*.scss"], ["build-theme"]);
}));
gulp.task("default", gulp.series("watch", function() {}));