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

Javascript 使用Gulp缩小和自动更新CSS文件,javascript,css,gulp,gulp-watch,Javascript,Css,Gulp,Gulp Watch,我有一个吞咽任务,在一个文件夹中缩小我的CSS,然后将其输送到另一个文件夹 const gulp = require("gulp"); const cleanCSS = require("gulp-clean-css"); gulp.task("minify-css", () => { return ( gulp .src("./css/**/*.css") .pipe(cleanCSS()) .pipe(gulp.dest("minifi

我有一个吞咽任务,在一个文件夹中缩小我的CSS,然后将其输送到另一个文件夹

const gulp = require("gulp");
const cleanCSS = require("gulp-clean-css");

gulp.task("minify-css", () => {
  return (
    gulp
      .src("./css/**/*.css")
      .pipe(cleanCSS())
      .pipe(gulp.dest("minified"))
  );
});
命令
gulpminifycss
工作得非常好。我不想一直在终端tho中键入该命令

我想让下面的代码监视我的CSS文件,当它发生变化时,我想让
缩小CSS
任务运行并更新我的缩小文件,但它不起作用:

gulp.task("default", function(evt) {
  gulp.watch("./css/**/*.css", function(evt) {
    gulp.task("minify-css");
  });
});

你知道为什么这样不行吗?提前谢谢你

问题在于调用
gulp.task('minify-css')
回调函数内部的
gulp.watch
区域。该代码实际上并不调用minify css任务,而是生成一个
匿名
任务,正如您在日志中指出的那样。相反,
gulp.watch
应该调用内部执行
minify css
作业的函数

另一个问题可能是gulp-4中发生的语法变化。它们虽然不多,但可能令人困惑

我已经设法解决了这个问题,而且效果很好。下面是
gulpfile.js
的更新代码:

const gulp = require("gulp");
const cleanCSS = require("gulp-clean-css");

function minifyCSS() {
  return (
    gulp
      .src("./css/*.css")
      .pipe(cleanCSS())
      .pipe(gulp.dest("minified"))
  );
}

gulp.task("minify-css", minifyCSS);

gulp.task("watch", () => {
  gulp.watch("./css/*.css", minifyCSS);
});

gulp.task('default', gulp.series('minify-css', 'watch'));

希望这有帮助

也许在这里检查一下:我按照建议将我的
“default”
任务更改为
“watch”
,然后添加了
gulp.task('default',['minify-css','watch'])但是当我运行
gulp default
时,我得到一个错误,说“必须指定任务函数”,这看起来像是gulp的版本问题。你可以尝试使用
gulp.task('default',gulp.parallel('minify-css',watch')取而代之。在这里阅读更多内容:这似乎在我第一次运行命令时起作用。它缩小了文件,我使用gulpfile E:\GitHub\freeCodeCamp Projects\personal portfolio\gulpfile.js[19:50:48]返回
[19:50:48],开始“默认”。。。[19:50:48]正在启动“缩小css”。。。[19:50:48]开始“观察”。。。[19:50:48]在300毫秒后完成了“缩小css”[19:51:05]开始“…
但是如果我再次更改某些内容并保存文件,它不会更新我的缩小文件有人有什么想法可以帮我吗?不幸的是,我没能把它修好。提前谢谢!这工作做得很好!非常感谢你的帮助!我将您的解决方案添加到我的
gulpfile.js
中,效果非常好。每次我更新我的常规CSS文件时,缩微过程都会正常运行,缩微运行正常!再次,非常感谢!