2016-03-03 50 views
0

我的文件夹结构观看咖啡文件,只需要使用文件名作为目标

app/tool_1/js/myfile.coffee 
app/tool_2/js/myfile2.coffee 

...

我想这些文件编译成一个目录:

server/jsfolder/ 

Gruntfile.coffee

module.exports = (grunt) -> 
    grunt.initConfig 
     watch: 
      tools_coffee: 
       files: [ "app/**/*.coffee" ] 
       tasks: [ "newer:coffee:tools" ] 


     coffee: 
      tools: 
       expand: true 
       cwd: "app" 
       src: [ "**/*.coffee" ] 
       dest: "server/jsfolder" 
       ext: ".js" 

问题

整个路径将被复制到DEST:

server/jsfolder/tool_1/js/myfile.js 

我想要的结果是这样的:

server/jsfolder/myfile.js 

对此有任何解决方案?

我使用grunt-newer和grunt-watch。

回答

0

有一个函数重命名名称可以覆盖。

0

要回答你的问题,我相信你需要flatten选项,它会从你的dest目录中删除源路径。

重命名,来回答你的答案,是很酷,看起来像这样:

dest: 'foo/', 
    rename: function(dest, src) { 
     return dest + src.replace('foo', 'bar') 
    }, 
}