0
我有一个非常简单的(或者我认为)我正在写的web应用程序的gulp文件,主函数将所有文件从src
目录移动到build
目录,处理某些一路上的文件。它的设置使它在开始运行时运行,然后观察src
目录中的更改,并在发生更改时再次运行。它运行在通过第一次运行完全正常,但后来每当它从watch
功能运行时,它返回此错误:吞咽'干净'给第二次运行错误
Error: ENOENT, lstat '/Users/sawyer/Desktop/Web Scraper/online/build/css/styles.css'
这里是我的gulpfile(注意它给出了同样的错误,而不CHMOD以及):
var gulp = require('gulp');
var chmod = require('gulp-chmod');
gulp.task('default', ['buildProjectFiles'], function() {
gulp.watch('src/**/*', ['buildProjectFiles']);
});
gulp.task('buildProjectFiles', ['clean'], function() {
gulp.start('moveFiles');
gulp.start('processSCSS');
gulp.start('processJS');
});
gulp.task('clean', function() {
var clean = require('gulp-clean');
return gulp.src('build/**/*', {read: false})
.pipe(clean());
});
gulp.task('moveFiles', function() {
return gulp.src(['src/**/*.php', 'src/**/*.json', 'src/fonts/*', 'src/img/*'], {base: 'src'})
.pipe(chmod(766))
.pipe(gulp.dest('build'));
});
gulp.task('processSCSS', function() {
var sass = require('gulp-sass');
return gulp.src('src/scss/*.scss', {base: 'src/scss'})
.pipe(sass().on('error', sass.logError))
.pipe(chmod(766))
.pipe(gulp.dest('build/css'));
});
gulp.task('processJS', function() {
var uglify = require('gulp-uglify');
return gulp.src('src/js/**/*.js', {base: 'src'})
.pipe(uglify())
.pipe(chmod(766))
.pipe(gulp.dest('build'));
});
任何想法?
编辑:即使使用clean({force: true})
不起作用
编辑2:从我的测试中,我发现,这是不是与手表有问题,而是它正在运行的每其它时间,在运行时无论。它通过禁用moveFiles
或processSCSS
可以正常工作。
我sorta通过用'del'代替'gulp-clean'来解决它,但我仍然不知道为什么'gulp-clean'在我以前的工作中不起作用。 – SilverSerpent