gulp watch在观看任务之前改变了回叫火力

时间:2014-07-02 00:39:14

标签: javascript build gulp

我有用于观察文件更改的代码。 我希望首先运行'build-dev-mainjs'任务。然后应该运行$.livereload.changed。但事实恰恰相反。

 // syncronous
gulp.task('build-dev-mainjs', ['jshint', 'clean'], function() {
    console.log('inmaindevjs');
    return gulp.src(['app/client/scripts/*.js',
                'app/client/bower_components/**/*.js'])
    .pipe(gulp.dest('public/assets/scripts'));
});


gulp.watch('app/client/scripts/**/*.js', ['build-dev-mainjs'])
    .on('change', $.livereload.changed);

我想要这种行为的原因是,因为每次更改后,build-dev-mainjs任务都会运行,将文件复制到dist文件夹中。服务器提供dist文件夹中的文件。

1 个答案:

答案 0 :(得分:0)

安装gulp插件:run-sequence

以下是如何使用它的示例:

// This will run in this order:
// * build-clean
// * build-scripts and build-styles in parallel
// * build-html
// * Finally call the callback function
gulp.task('build', function(callback) {
  runSequence('build-clean',
              ['build-scripts', 'build-styles'],
              'build-html',
              callback);
});

这应该对它进行排序。