Gulp似乎在工作,但构build文件尚未处理

我的问题

我一直在使用gulp作为这个项目的一个任务运行者,我正在研究 – 这是一个简单的网站。 我有一个src目录,在那里我可以完成所有的编码,存储我的所有资源,如脚本,图像,图标等。

到目前为止,gulp一直在做自动前缀和缩小我的CSS文件,它一直在压缩我的图像,缩小JavaScript和我的HTML。 然后将所有内容发送到build目录,这就是我上传到服务器的内容。 一切都一直工作到今天。

问题是,吞咽似乎工作:它在terminal运行良好,它build立一个“build设”的目录,我所有的项目文件和资产都在那里。 然而,似乎没有任何处理发生。

我所试过的

  • 删除构build目录并再次运行gulp:Gulp创build一个新的构build和一切似乎工作,但没有任何文件已被处理。

  • npm uninstall ,然后, npm install :我想也许有一种可能性,全新的安装我所有的依赖将解决这个问题 – 但没有。

  • 谷歌:显然我试过寻找解决scheme。 问题是我还没有find与我的问题有关的问题(我的appologies,如果有的话)。

在我看来,我的问题实际上源于这个事实,即Gulp悄然失败。 我没有得到任何的错误,但很明显,有些事情是错的。

我的环境btw …

我在Windows 10上运行。没有服务器运行,或者任何持续集成,浏览器刷新,或任何其他自动化任务。 我只是在一个目录中编写代码,Gulp正在处理这些代码和资产,并将其输出到build目录。

我使用的插件是:

  • 一饮而尽,autoprefixer

  • 一饮而尽,htmlmin

  • 一口洁净的CSS

  • 一饮而尽,丑化

  • 一饮而尽,imagemin

  • 吞 – 删除 – HTML的评论

我使用的唯一软件包pipe理器是npm no bower或其他任何东西。

实际的问题

所以,如果不清楚…为什么build设我的项目,但不输出正确的文件? 或者,文件是正确的,但不知何故处理被跳过?

非常感谢!

至于其他信息,我很乐意分享需要的东西。 但没有错误,所以没有日志分享。 这是gulpfile.js

 var gulp = require('gulp'); var autoprefixer = require('gulp-autoprefixer'); var htmlmin = require('gulp-htmlmin'); var cleanCSS = require('gulp-clean-css'); var uglify = require('gulp-uglify'); var imagemin = require('gulp-imagemin'); var removeHtmlComments = require('gulp-remove-html-comments'); gulp.task('imagemin', function() { return gulp.src(['src/**/**/*', '!src/images/**/*.db']) .pipe(imagemin()) .pipe(gulp.dest('build/')); }); gulp.task('minify-js', function() { return gulp.src(['src/**/*.js']) .pipe(uglify()) .pipe(gulp.dest('build/')); }); gulp.task('minify-html', function() { return gulp.src('src/**/*.html') .pipe(removeHtmlComments()) .pipe(htmlmin({collapseWhitespace: true})) .pipe(gulp.dest('build/')) }); gulp.task('prefix', function () { return gulp.src('./src/**/*.css') .pipe(autoprefixer({ browsers: ['last 2 versions'], cascade: false })) .pipe(cleanCSS({compatibility: 'ie8'})) .pipe(gulp.dest('build/')); }); gulp.task('default', ['prefix', 'minify-html', 'minify-js', 'imagemin'], function() { gulp.watch(['src/css/*.css'], ['prefix']); gulp.watch(['src/**/*.html'], ['minify-html']); gulp.watch(['src/**/*js'], ['minify-js']); gulp.watch(['src/images/**/*'], ['imagemin']); }); 

所以我最终自己发现了这个问题。

起初,我的一大堆任务似乎没有明显的原因再次开始工作。 我不知道为什么,浪费了一个小时,没有运气的调查,只是向前发展。

直到今天,我只是忍受了这样的事实,即有时build设会有效,有时不会。

这个问题是在imagemin任务。 src/**/**/*应该是src/images/**/* 。 愚蠢的错误,但希望这可以帮助有类似问题的其他人 – 如果有的话。

构build有时会起作用,有时不起作用的原因是有时imagemin任务会先完成工作,然后其他任务将运行良好。 如果imagemin完成了imagemin ,那么这个任务会解除所有以前的处理,因为它是在src所有文件上运行的。