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

sel*_*c82 0 gruntjs

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

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

}
Run Code Online (Sandbox Code Playgroud)

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

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

dc5*_*dc5 10

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

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

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

您的任务配置看起来像:

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