css - Gulp Watch 在 gulp 4.0.2 中无法工作,直到再次运行 gulp

标签 css sass gulp-watch gulp-sass

在我的 gulfile.js 中,我使用 watch 将 scss 文件编译为 css 文件。它运行没有错误,当我在 powershell 中运行 gulp 时,它说它正在监视,但是每当我在 scss 文件中定义样式时,它不会影响创建的 css 文件,我必须停止 gulp 并运行它再次。其实是没仔细看! 这是我的代码。 谢谢你的帮助。

"use strict";

var gulp = require("gulp");
var sass = require("gulp-sass");
var minifyCSS = require("gulp-clean-css");
var uglify = require("gulp-uglify");
var rename = require("gulp-rename");
var changed = require("gulp-changed");
var { task, series } = require("gulp");

var SCSS_SRC = "./src/Assets/scss/**/*.scss";
var SCSS_DEST = "./src/Assets/css";


task("compile_scss", function() {


	gulp
		.src(SCSS_SRC) 
		.pipe(sass().on("error", sass.logError)) 
		.pipe(minifyCSS())
		.pipe(rename({ suffix: ".min" }))
		.pipe(changed(SCSS_DEST)) 
		.pipe(gulp.dest(SCSS_DEST)); 
});


task("watch_scss", function() {
	gulp.watch(SCSS_SRC, series(["compile_scss"]));
});

task("default", series("watch_scss"));

最佳答案

您错过了返程。 gulp并不知道任务已经完成。在你的情况下,你必须返回流。您的代码应如下所示:

"use strict";

var gulp = require("gulp");
var sass = require("gulp-sass");
var minifyCSS = require("gulp-clean-css");
var uglify = require("gulp-uglify");
var rename = require("gulp-rename");
var changed = require("gulp-changed");
var { task, series } = require("gulp");

var SCSS_SRC = "./src/Assets/scss/**/*.scss";
var SCSS_DEST = "./src/Assets/css";

function compile_scss() {
    return gulp
        .src(SCSS_SRC) 
        .pipe(sass().on("error", sass.logError)) 
        .pipe(minifyCSS())
        .pipe(rename({ suffix: ".min" }))
        .pipe(changed(SCSS_DEST)) 
        .pipe(gulp.dest(SCSS_DEST)); 
}


function watch_scss() {
    gulp.watch(SCSS_SRC, series(compile_scss));
}

exports.default = series(watch_scss);

我还冒昧地删除了“task()”,因为

Reminder: This API isn't the recommended pattern anymore - export your tasks.

如前所述here .

关于css - Gulp Watch 在 gulp 4.0.2 中无法工作,直到再次运行 gulp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60188808/

相关文章:

npm - 如何安装 gulp 4

Safari 中的 CSS 全宽背景图像(负边距)

jquery - codecademy 是掌握 Web 开发的好选择吗?

html - ngx-numeric-textbox 右对齐

ruby-on-rails - 我如何获取一串 SCSS 并让它输出 CSS?

javascript - 使用 Gulp 缩小和自动更新 CSS 文件

javascript - Gulp 任务不等待上一个任务完成

javascript - 下拉类在 JSF 中不起作用

css - 尝试在输入框中添加搜索 svg

jquery - 在自定义 Accordion 导航上管理打开和关闭的菜单