【问题标题】:grunt-contrib-copy is corrupting binary filesgrunt-contrib-copy 正在破坏二进制文件
【发布时间】:2017-12-21 06:28:20
【问题描述】:

我正在使用 "grunt-contrib-copy": "^1.0.0" 并且复制的二进制文件已损坏,请查看我的 grunt 配置并帮助我解决此问题。

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}']
                    }
                }
            }]
    }
},

【问题讨论】:

    标签: angularjs npm gruntjs grunt-contrib-copy


    【解决方案1】:

    grunt-contrib-copy@1.0.0 中,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
            // ...          
        },
        // ...    
    }
    

    【讨论】:

    • 我尝试了您的解决方案,但仍然出现同样的问题,损坏了文件。这是我更新的配置。复制:{主:{文件:[{扩展:true,cwd:'',src:['*/.png'],dest:'', options: { noProcess: ['*/.{png,gif,jpg,ico,psd}'] } }]
    • 您应该使用更新的配置真正编辑/更新您的问题,而不是将其作为评论发布。无论如何,您的全局模式在评论中发布的代码中不正确。尝试将src: ['*/.png'] 设置为src: ['**/*.png'] 并将noProcess: ['*/.{png,gif,jpg,ico,psd}'] 设置为noProcess: ['**/*.{png,gif,jpg,ico,psd}'](注意*/. 部分在两个示例中都已更改为**/*.)。此外,如果您要复制的只是.png 文件,那么noProcess 可以配置为noProcess: ['**/*.png'] - 实际上不需要包含所有其他文件后缀。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2015-07-05
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多