使用Grunt复制任务时展平文件树

imr*_*ane 4 javascript node.js gruntjs

不确定我是否遗漏了一些东西,但我对grunt-contrib-copy任务进行了以下grunt设置.

copy: {
  build: {
    files: {
      "server-dist/": "server/**/*.!(coffee)",
      "client-dist/": "client/**/*.!(coffee)"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

客户端dist会复制,因为我希望递归地运行文件树,但server-dist所有子文件夹都会变平到基本文件夹.任何想法为什么会这样?这是i/o

server/
  views/
    errors/
      404.jade
    layouts/
      base.jade
Run Code Online (Sandbox Code Playgroud)

server/
  errors/
  layouts/
    base.jade
Run Code Online (Sandbox Code Playgroud)

views文件夹完全被炸毁了.还有一件事......当我移除时!(咖啡)它可以工作,但我需要排除咖啡文件,因为我有一个grunt-coffee watch任务正在运行.

小智 9

zacks的后续评论:

copy: {  
    mytask: {  
        files: [  
        {expand:true, cwd:'dev-js/abc/', dest:'js/test/', src:['def.js']}  
        ]  
    }  
}  
Run Code Online (Sandbox Code Playgroud)

这会将文件复制./dev-js/abc/def.js./js/test/def.js- 至少在我的0.4.1版本上.Zacks发表评论,其中包含的链接非常有用,特别是basePath已被替换的事实.