Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一饮而尽_Javascript_Gulp_Gulp Livereload_Gulp Notify - Fatal编程技术网

Javascript 一饮而尽

Javascript 一饮而尽,javascript,gulp,gulp-livereload,gulp-notify,Javascript,Gulp,Gulp Livereload,Gulp Notify,是否可能有一个没有回报的吞咽任务 我正在尝试创建一个简单的构建任务,它会在成功时通知用户,但是我之前编写的所有其他任务都会返回一些内容,并使用管道来处理相关的操作 从下面的代码中可以看到,我有一系列的任务要在两个不同的构建过程中执行——开发过程和生产过程——在这两个过程的末尾,我有一个简单的过程:构建任务,它只触发一个重新加载任务,并使用gulp notify发送一个成功通知 当使用以下代码在命令行上运行gulp时,实际上没有任何中断,构建过程进展顺利,但过程:构建任务本身似乎没有启动 // D

是否可能有一个没有回报的吞咽任务

我正在尝试创建一个简单的构建任务,它会在成功时通知用户,但是我之前编写的所有其他任务都会返回一些内容,并使用管道来处理相关的操作

从下面的代码中可以看到,我有一系列的任务要在两个不同的构建过程中执行——开发过程和生产过程——在这两个过程的末尾,我有一个简单的过程:构建任务,它只触发一个重新加载任务,并使用gulp notify发送一个成功通知

当使用以下代码在命令行上运行gulp时,实际上没有任何中断,构建过程进展顺利,但过程:构建任务本身似乎没有启动

// Define our dependencies
var gulp = require('gulp'),
    del = require('del'),
    vinylPaths = require('vinyl-paths'),
    runSequence = require('run-sequence'),
    jpegtran = require('imagemin-jpegtran'),
    pngcrush = require('imagemin-pngcrush'),
    pngquant = require('imagemin-pngquant'),
    svgo = require('imagemin-svgo'),
    gulpLoadPlugins = require('gulp-load-plugins'),
    plugins = gulpLoadPlugins({ camelize: true });

//===============================================
// File specification
//===============================================

// Define the source and compliation paths for our files
var paths = {
    styles: {
        src: './inc/scss',
        files: './inc/scss/**.scss',
        dest: './public/inc/css'
    },
    images: {
        src: './inc/img',
        files: './inc/img/**.**',
        dest: './public/inc/img'
    }
};

//===============================================
// Error reporting
//===============================================

// Notify error
var onError = function (err) {
    plugins.util.beep();
    console.log(err);
    plugins.notify().write(err);
    this.emit('end');
};

//===============================================
// Compliation tasks
//===============================================

gulp.task('compile:scss', function() {
    return gulp.src(paths.styles.files)
        .pipe(plugins.plumber({
            errorHandler: onError
        }))
        .pipe(plugins.sourcemaps.init())
        .pipe(plugins.sass())
        .pipe(plugins.sourcemaps.write('/'))
        .pipe(gulp.dest(paths.styles.dest));
});

gulp.task('minify:css', function() {
  return gulp.src(['./public/inc/css/**.css', '!./public/inc/css/**.min.css'])
    .pipe(plugins.plumber({
        errorHandler: onError
    }))
    .pipe(plugins.cssmin())
    .pipe(plugins.rename({ suffix: '.min' }))
    .pipe(gulp.dest(paths.styles.dest));
});

gulp.task('compress:images', function() {
    return gulp.src(paths.images.files)
        .pipe(plugins.imagemin({
            progressive: true,
            interlaced: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [
                jpegtran(),
                pngcrush(),
                pngquant(),
                svgo()
            ]
    }));
});

gulp.task('move:images', function() {
    return gulp.src(paths.images.files)
        .pipe(gulp.dest(paths.images.dest));
});

gulp.task('process:build', function() {
    plugins.livereload();
    plugins.notify({ message: "Build updated"});
});

//===============================================
// Sequenced tasks
//===============================================

// Run our sequenced tasks outlined above
gulp.task('dev', function(cb) {
    runSequence(
    'compile:scss',
    'move:images',
    'process:build', cb);
});

gulp.task('production', function(cb) {
    runSequence(
    'compile:scss',
    'minify:css',
    'compress:images',
    'move:images',
    'process:build', cb);
});

//===============================================
// Watch tasks
//===============================================

// Watch specified folders for changes
gulp.task('watch', function() {
    plugins.livereload.listen();

    var watcher = gulp.watch(['./inc/scss/**/**.scss', './inc/img/*.*'], ['dev']);

    watcher.on('change', function(event) {
        console.log(
            '[watcher] File ' + event.path.replace(/.*(?=sass)/,'') + ' was ' + event.type + ', compiling...'
        );
    });
});

//===============================================
// Tasks to use
//===============================================

// This is the default task - which is run when `gulp` is run
gulp.task('default', function(cb) {
    runSequence('dev', 'watch', cb);
});

gulp.task('production', function(cb) {
    runSequence('production', 'watch', cb);
});