2015-12-02 49 views
0

我主要有我需要從grunt-contrib-copy,因爲我正在使用'rename'和'options.process'重命名文件名和文件內的內容。我錯過的最後一步是如何刪除在過程中重命名的原始文件。如何在grunt-contrib-copy文件重命名操作中刪除原始文件?

下面是我得到了什麼:

copy: { 
    rename: { 
    files: [ 
     { 
     expand: true, 
     filter: 'isFile', 
     cwd: './', 
     src: ['**','!**/*.json','!**/.git/**','!**/node_modules/**','!**/*.sql','!README.md'], 
     dest: './', 
     rename: function(dest, src) { 

      var replaceValue = package.themeReplaceName; 
      var start = src.search(replaceValue); 
      var end = start + replaceValue.length; 

      if (start === -1) { 
      return src; 
      } 

      var returnVal = dest + src.substring(0, start) + package.projectTitle + src.substring(end); 

      grunt.log.writeln(returnVal); 

      return returnVal; 
     } 

     } 
    ], 

    options: { 
     process: function (content, srcpath) { 

     var newContent = content.split(package.themeReplaceName).join(package.projectTitle); 
     grunt.log.writeln('Processing ' + srcpath + 'for ' + package.themeReplaceName + 'replacement...'); 

     return newContent; 
     }, 
    } 

    } 
} 

這將導致所有的改名爲我的文件及其內容所取代,但被重命名的文件有自己的原始文件仍然存在。

我該如何簡潔地刪除它們?另外,如果你想要真棒點,如果你願意的話,你可以在'src'中用'合適的正則表達式'代替我的'重命名'方法!

由於提前, d

+0

爲什麼不使用咕嚕-contrib請清潔做這個工作? –

+0

我會調查一下,謝謝 – danjah

+0

@Louis Barranqueiro行,從哪裏來?我不明白我如何將grunt-contrib-clean整合到我所做的簡潔工作中?我沒有更改文件擴展名,所以我可以運行一個「刪除所有.php」文件,就像我在目前爲止看到的示例中看到的那樣。我想我需要刪除最初複製的文件,只是在複製它之後,確保我不必重寫一堆正則表達式或規則以避免刪除錯誤的東西,如果我需要通過所有的文件再次? – danjah

回答

0

你必須使用咕嚕-contrib請清潔刪除該文件。

module.exports =功能(咕嚕){

grunt.config.set('clean', { 

    options: { force: true }, 
    clean: { 
     src: ["path/yourfile","path/yourfile2"] 
     }});