0

我知道我错过了一些非常明显的东西,但我就是看不到它。我有这个正在运行的简单的 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 文件夹,因为它是 assets 的上一级,并且未创建 assets 文件夹。

4

1 回答 1

10

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

在这种情况下, using..是问题的根源(不是双关语)。

您可以使用该cwd属性解决此问题

您的任务配置如下所示:

copy: {
    dev: {
        files: [{
            cwd: '../',
            expand: true,
            src: ["index.html",
                  "views/**", 
                  "scripts/**", 
                  "styles/**", 
                  "data/**", 
                  "images/**"],
            dest: "../../iPhone/www/"
        }]
    }
}
于 2013-08-13T20:51:49.357 回答