gulp - Gulp Watch 不工作并且没有抛出错误
问题描述
我正在使用我迁移到使用 gulp 4 并使用的 gulp 配置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() {}));
解决方案
我有点惊讶这条线没有给你一个错误:
gulp.watch(["scss/*.scss"], ["build-theme"]);
改成:
gulp.watch("scss/*.scss", gulp.series("build-theme"));
以下是不必要的复杂,但在技术上可能不是错误:
gulp.task("default", gulp.series("watch", function() {}));
简化为:
gulp.task("default", gulp.series("watch"));
推荐阅读
- python - 如何用正则表达式替换找到的数据?
- typescript - 是否可以强制类型转换?
- javascript - 显示一个 i 框架,使用 vanilla JavaScript 隐藏另一个
- javascript - 根据 React 中的类别选择更改博客列表
- python - 如何分组/收集变量并保持 IDE (PyCharm) 突出显示?
- c# - asp .NET core 中的错误:部分组件不起作用
- c++ - 使用 c++ 中的递归函数打印数字空心正方形图案
- node.js - 运行时设置 puppeteer 窗口大小不是无头,而是通过控制台
- c++ - cppreference.com 上 c++20 的奇怪 atomic_flag 示例
- python - 如何将单个熊猫数据框列中包含的字典转换为单独的列?