Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 Grunt contrib复制临时禁用路径筛选器_Javascript_Gruntjs_Grunt Contrib Copy - Fatal编程技术网

Javascript Grunt contrib复制临时禁用路径筛选器

Javascript Grunt contrib复制临时禁用路径筛选器,javascript,gruntjs,grunt-contrib-copy,Javascript,Gruntjs,Grunt Contrib Copy,嗨,我在用这个过滤器 var fs = require('fs'); function onlyNew(target) { return function(filepath) { var src = fs.statSync(filepath).mtime.getTime(); var dest = grunt.config(target.concat('dest')) + filepath.slice(grunt.config(target.concat('cw

嗨,我在用这个过滤器

var fs = require('fs');

function onlyNew(target) {
  return function(filepath) {
    var src = fs.statSync(filepath).mtime.getTime();
    var dest = grunt.config(target.concat('dest')) +
      filepath.slice(grunt.config(target.concat('cwd')).length);
    dest = fs.statSync(dest).mtime.getTime();
    return src > dest;
  }
};
在以下调用
grunt contrib copy

copy: {
        all: {
            src: 'mysource/reset.html',
            dest: 'mydest/reset.html',
            filter: onlyNew(['copy', 'all'])
        },
},
这非常有效,仅当源文件比目标文件新时才进行复制。但是,如何临时禁用这些过滤器以强制复制

我尝试将“onlyNew”筛选器设置为:

function onlyNew(target) {
  if (grunt.option('forceCopy'))
      return true;
  else {
      return function(filepath) {
        var src = fs.statSync(filepath).mtime.getTime();
        var dest = grunt.config(target.concat('dest')) +
          filepath.slice(grunt.config(target.concat('cwd')).length);
        dest = fs.statSync(dest).mtime.getTime();
        return src > dest;
      }
  }
};

但是运行
grunt--forceCopy

没有任何效果

我不明白这一点,但我的逻辑颠倒了,这是可行的:

function onlyNew(target) {
  if (grunt.option('forceCopy'))
      return false;
  else {
      return function(filepath) {
        var src = fs.statSync(filepath).mtime.getTime();
        var dest = grunt.config(target.concat('dest')) +
          filepath.slice(grunt.config(target.concat('cwd')).length);
        dest = fs.statSync(dest).mtime.getTime();
        return src > dest;
      }
  }
};