如果目录为空,我如何跳过grunt任务

jtf*_*ank 8 gruntjs grunt-contrib-concat grunt-contrib-uglify

我正在使用grunt-contrib concatuglify模块来处理一些javascript.目前,如果src/js/为空,它们仍将创建一个(空)concat'd文件,以及缩小版本和源映射.

我想src/js/在继续之前检查文件夹是否为空,并且如果是,则任务应该跳过(不会失败).任何想法如何做到这一点?

Kos*_*aur 3

该解决方案可能不是最漂亮的,但可以给您一个想法。你需要npm install --save-dev glob先运行类似的东西。这是基于Milkshake你提到的项目的一部分。

grunt.registerTask('build_js', function(){
  // get first task's `src` config property and see
  // if any file matches the glob pattern
  if (grunt.config('concat').js.src.some(function(src){
    return require('glob').sync(src).length;
  })) {
    // if so, run the task chain
    grunt.task.run([
        'trimtrailingspaces:js'
      , 'concat:js'
      , 'uglify:yomama'
    ]);
  }
});
Run Code Online (Sandbox Code Playgroud)

比较要点:https://gist.github.com/kosmotaur/61bff2bc807b28a9fcfa