2017-07-16 83 views
0

我正在使用“grunt-contrib-copy”:“^ 1.0.0”,并且复制的二进制文件被破坏,请看看我的grunt配置并在此帮助我。grunt-contrib-copy正在破坏二进制文件

copy: { 
    options: { 
     // exclude binary format from the processContent function 
     processContentExclude: [ 
      '**/*.{png,gif,jpg,ico,psd,ttf,otf,woff,svg}' 
     ] 
    }, 
    main: { 
     files: [{ 
      expand: true, 
      cwd: '<%= options.src %>', 
      src: ['**/*.json', '**/*.htm*', '**/*.png'], 
      dest: '<%= options.targets.dist %>' 
     }, 
      { 
       expand: true, 
       cwd: '<%= options.resources %>', 
       src: ['**/*.png'], 
       dest: '<%= options.targets.dist %>', 
       options: { 
        options: { 
         processContentExclude: ['**/*.{png,gif,jpg,ico,psd}'] 
        } 
       } 
      }] 
    } 
}, 

回答

0

[email protected]processContentExclude选项已更名为noProcess。你options对象应该是:

// ... 
options: { 
    // ... 
    noProcess: [ // <-- Renamed from processContentExclude 
     '**/*.{png,gif,jpg,ico,psd,ttf,otf,woff,svg}' 
    ] 
}, 
// ... 

我还以为别的地方在你的配置,(虽然在OP不含税),你可能会使用processContent选项 - 因此腐败。请注意,processContent选项已重命名为process,因此您需要重命名该选项。例如。

// ... 
options: { 
    // ... 
    process: function(foo, baz) { // <-- Renamed from processContent 
     // ...   
    }, 
    // ...  
} 
+0

我试过你的解决方案,但它仍然给出同样的问题,破坏文件。 这是我更新的配置。 副本:{ 主:{ 文件:[{ 扩大:真, CWD: '<%= options.resources%>', SRC:[ '**/* PNG'], DEST:' <%= options.targets.dist%>', 选项:{ noProcess:['**/*。{png,gif,jpg,ico,psd}'] } }] –

+0

您应该真的编辑/用更新后的配置更新您的问题,而不是将其作为评论发布。无论如何,你的glob模式在评论中发布的代码中是不正确的。尝试将'src:['* /。png']'设置为'src:['**/*。png']'并设置'noProcess:['* /。{png,gif,jpg,ico,psd }']'到'noProcess:['**/*。{png,gif,jpg,ico,psd}']'(注意* /。'部分已经改为**/*。'in两个例子)。另外,如果只复制'.png'文件,那么'noProcess'可以配置为'noProcess:['**/*。png']' - 实际上并不需要包含所有其他文件后缀。 – RobC