我注意到我的节点版本为(12)和gulp 4,因此无法在自己的站点上运行gulp watch。因此,我刚刚升级到gulp 4,并按照npm审核说明重新安装了所有npm软件包。我的gulpfile.js看起来像这样:
var gulp = require('gulp');
var livereload = require('gulp-livereload')
var uglify = require('gulp-uglifyjs');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
gulp.task('imagemin', function () {
return gulp.src('./src/images/*')
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(gulp.dest('./src/images'));
});
gulp.task('sass', function () {
gulp.src('./src/sass/**/*.scss')
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 7', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./src/css'));
});
gulp.task('uglify', function() {
gulp.src('./src/lib/*.js')
.pipe(uglify('main.js'))
.pipe(gulp.dest('./src/js'))
});
gulp.task('watch', function(){
livereload.listen();
gulp.watch('./src/sass/**/*.scss', gulp.parallel('sass'));
gulp.watch('./src/lib/*.js', gulp.parallel('uglify'));
gulp.watch(['./src/css/style.css',
'./src/**/*.twig',
'./src/js/*.js'], function (files){
livereload.changed(files)
});
});
[当我运行gulp watch命令时,它显示“正在启动监视”,但是当我在浏览器和文件中查看时,什么也没有监视。
我如何继续看我在gulp 4上的任务?
在'sass'和'uglify'任务中添加return