当监视调用的任务完成时,gulp通知两个任务

时间:2015-10-05 13:32:49

标签: gulp gulp-watch

我有一个gulpfile,其中是一个监视任务,在

下面
gulp.task('watch', function() {
    gulp.watch('template/slick/assets/less/*.less', ['less']);  // Watch all the .less files, then run the less task
});

然后调用较少的编译到该目录的css并将其移动到/ css /文件夹。

然后我有两个其他任务已编写为min,concat并将这些.css文件移动到dist文件夹。

我需要知道的是,当我的手表调用较少的任务完成时,我可以通知/运行stylesmin,cssconcats任务吗?我确实需要添加更多代码来完成它。我无法找到一种体面的通知/结束方式做事。

这里的手表

调用的任务越少
gulp.task('less', function () {
    return gulp.src('game/http/template/slick/assets/less/*.less')
        .pipe(less())
        .pipe(gulp.dest('game/http/template/slick/assets/css/'))
        .pipe(notify({message: 'Less compiled'}));
});

1 个答案:

答案 0 :(得分:0)

您可以使用connect语法将您的任务定义为彼此的依赖关系,如下所示。 (我假设您在开始观看文件之前使用gulp.task('less', function() { console.log('less'); }) gulp.task('stylesmin', ['less'], function() { console.log('stylesmin'); }) gulp.task('cssconcats', ['stylesmin'], function() { console.log('cssconcats'); }) gulp.task('test', ['connect', 'watch']); 之类的东西来启动服务器)

cssconcats

修改手表以启动上一个任务,gulp.task('watch', function() { gulp.watch('template/slick/assets/less/*.less', ['cssconcats']); // Watch all the .less files, then run the less task }); 并且gulp将首先运行依赖项

.less

更改任何less, stylesmin, cssconcats 文件,输出显示任务按此顺序正确运行;

public func generateKeyPair(publicKeyTag: String, privateKeyTag:String, keySize: Int) -> KeyPair? {

    let privateKeyAttr: [String: AnyObject] = [
        kSecAttrIsPermanent as String: kCFBooleanTrue,
        kSecAttrApplicationTag as String: privateKeyTag
    ];

    let publicKeyAttr: [String: AnyObject] = [
        kSecAttrIsPermanent as String: kCFBooleanTrue,
        kSecAttrApplicationTag as String: publicKeyTag
    ];

    let keyPairAttr: [String: AnyObject] = [
        kSecAttrKeyType as! String: kSecAttrKeyTypeRSA,
        kSecAttrKeySizeInBits as! String: keySize,
        kSecPrivateKeyAttrs as! String: privateKeyAttr,
        kSecPublicKeyAttrs as! String: publicKeyAttr
    ];

    var publicKeyPtr, privateKeyPtr: Unmanaged<SecKey>?;

    let error = SecKeyGeneratePair(keyPairAttr, &publicKeyPtr, &privateKeyPtr)

    if( result != errSecSuccess ){
        return nil
    }

    let publicKey = publicKeyPtr!.takeRetainedValue()
    let privateKey = privateKeyPtr!.takeRetainedValue()
    return KeyPair(publicKey: publicKey, privateKey: privateKey)
}