Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了gruntjs – 使用grunt-contrib-copy损坏的副本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
将很多文件(图像,pdf等)从一个目录复制到另一个目录时,我遇到了问题.在目标文件夹中,所有这文件都已损坏.
我试使用NoProcess和processContentexclude选项,但它没有带来任何结果.

@H_403_9@

我的副本任务配置如下所示:@H_403_9@

@H_403_9@

copy: {
  assets_images: {
    options: {
      noProcess: ['**/*.{png,gif,jpg,ico,pdf}']
    },expand: true,cwd: 'static/images/',src: '**',dest: 'dist/assets/images/'
  },assets_data: {
    options: {
      noProcess: ['**/*.{png,cwd: 'static/data/',dest: 'dist/assets/data/'
  }
}

你能帮帮我吗?@H_403_9@

更新:@H_403_9@

做了一些调查,发现源和destionation文件夹中的png文件的二进制代码是不同的.@H_403_9@

我怀疑使用错误编码复制任务进程文件(认情况下是utf8).据我所知,它将它们作为二进制文件处理,在这种情况下utf8不是正确的编码.@H_403_9@

你想建议怎么做才能解决这个问题?@H_403_9@

解决方法

如果你有一个过程功能

@H_403_9@

选项名称为processContentexclude,除非您使用的是0.5.0或更高版本,根据https://github.com/gruntjs/grunt-contrib-copy#release-history将其更改为noProcess@H_403_9@

您可以查看您的版本:@H_403_9@

@H_403_9@

npm ls grunt-contrib-copy

grunt-vtex的大型复制配置示例:@H_403_9@

@H_403_9@

copy:
      main:
        files: [
          expand: true
          cwd: 'src/'
          src: ['**'].concat(options.copyIgnorE)
          dest: "build/<%= relativePath %>/"
        ]
      deploy:
        files: [
          expand: true
          cwd: "build/<%= relativePath %>/"
          src: ['**']
          dest: "#{pkg.deploy}/#{pkg.version}"
        ]
        options:
          processContentexclude: ['**/*.{png,psd,ttf,otf,woff,svg}']
          process: (src,srcpath) ->
            replaceFiles = grunt.config('deployreplaceFiles') ? grunt.config('deployreplaceFiles',glob.sync(options.replaceGlob))
            for file in replaceFiles when file.indexOf(srcpath) >= 0
              log "replacing file...",file
              for k,v of options.replaceMap
                log "replacing key",k,"with value",v
                src = src.replace(new RegExp(k,'g'),v)
            return src

如果您没有处理功能@H_403_9@

如果您没有过程功能,noProcess将无法提供帮助.@H_403_9@

如果是这样,你应该看看编码选项. https://github.com/gruntjs/grunt-contrib-copy#encoding@H_403_9@

也许尝试编码:null,如下所示:https://github.com/gruntjs/grunt-contrib-copy/issues/64@H_403_9@

无论哪种方式@H_403_9@

尝试以最小的方式重现您的问题 – 创建一个只有一个任务的Gruntfile,只复制一个图像.这不是一个常见的问题,也许其他一些任务是罪魁祸首.@H_403_9@

大佬总结

以上是大佬教程为你收集整理的gruntjs – 使用grunt-contrib-copy损坏的副本全部内容,希望文章能够帮你解决gruntjs – 使用grunt-contrib-copy损坏的副本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。