观看咖啡文件,只想使用文件名作为目标

时间:2016-03-03 14:35:14

标签: coffeescript gruntjs watch

我的文件夹结构

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。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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