【问题标题】:gulp watch changed callback fires before watch tasksgulp watch 在监视任务之前更改了回调触发
【发布时间】:2014-07-02 00:39:13
【问题描述】:

我有此代码用于查看文件更改。 我希望首先运行“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 文件夹中的文件。

【问题讨论】:

    标签: javascript build gulp


    【解决方案1】:

    安装 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);
    });
    

    这应该对其进行排序。

    【讨论】:

    • 它并没有专门解决手表问题,但它解决了我遇到的类似问题,所以没有投票,但我接受了答案。
    猜你喜欢
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    相关资源
    最近更新 更多