简单的Grunt复制命令不起作用

时间:2013-08-13 20:36:59

标签: gruntjs

我知道有一些非常明显的东西让我失踪但我却看不到它。我有这个简单的Grunt复制文件,我正在运行。

copy: {
        dev: {
            files: [
                {
                    expand: true,
                    src: [
                        "../index.html",
                        "../views/**",
                        "../scripts/**",
                        "../styles/**",
                        "../data/**",
                        "../images/**"
                    ],
                    dest: "../../iPhone/www/"
                }
            ]
        }

}

每次运行此文件时,我的文件都会进入../../iPhone文件夹而不是../../iPhone/www文件夹。当我特意说要复制到www文件夹时,我不明白为什么它会复制一级。我再次知道我错过了一些如此微不足道的小事,但我却看不到它。提前致谢。

编辑:刚发现一些非常有趣的东西。如果我在www之后添加任意文件夹(即../../iPhone/www/assets),那么它将正确地复制到www文件夹,因为它距离资产一级并且未创建资产文件夹。

1 个答案:

答案 0 :(得分:10)

默认情况下,grunt copy命令会将src的路径复制到dest。

在这种情况下,使用..是问题的来源(没有双关语)。

您可以使用cwd property

解决此问题

您的任务配置如下所示:

copy: {
    dev: {
        files: [{
            cwd: '../',
            expand: true,
            src: ["index.html",
                  "views/**", 
                  "scripts/**", 
                  "styles/**", 
                  "data/**", 
                  "images/**"],
            dest: "../../iPhone/www/"
        }]
    }
}