Javascript 使用grunt contrib Compress将内容压缩到存档根目录

Javascript 使用grunt contrib Compress将内容压缩到存档根目录,javascript,gruntjs,Javascript,Gruntjs,我有以下目录结构,我希望压缩dev文件夹的内容,并将其放置在生成的归档文件的根目录中,而不将其包装在顶级文件夹中: _build/ #build scripts dist/ #destination dev/ #source 以下是代码(gruntfile.js在内部构建): compress: { main : { options : { archive :

我有以下目录结构,我希望压缩dev文件夹的内容,并将其放置在生成的归档文件的根目录中,而不将其包装在顶级文件夹中:

_build/    #build scripts
dist/      #destination
dev/       #source
以下是代码(gruntfile.js在内部构建):

    compress: {             
         main : {
            options : {
                archive : "../dist/dev.zip"
            },
            files : [
                { expand: true, src : "../dev/**/*" }
            ]
        }     
      }
dist/
   |____ dev.zip
          |_____ dev/
                  |_____ index.html
                  |_____ styles/style.css
dist/
   |____ dev.zip
        |_____ index.html
        |_____ styles/style.css
我希望我能只压缩dev文件夹的内容并将其放入dist文件夹。但是当我尝试这样做时,我发现dev的所有内容都压缩到一个根文件夹中

实际生成的zip:

    compress: {             
         main : {
            options : {
                archive : "../dist/dev.zip"
            },
            files : [
                { expand: true, src : "../dev/**/*" }
            ]
        }     
      }
dist/
   |____ dev.zip
          |_____ dev/
                  |_____ index.html
                  |_____ styles/style.css
dist/
   |____ dev.zip
        |_____ index.html
        |_____ styles/style.css
但是我希望zip文件是这样的:

    compress: {             
         main : {
            options : {
                archive : "../dist/dev.zip"
            },
            files : [
                { expand: true, src : "../dev/**/*" }
            ]
        }     
      }
dist/
   |____ dev.zip
          |_____ dev/
                  |_____ index.html
                  |_____ styles/style.css
dist/
   |____ dev.zip
        |_____ index.html
        |_____ styles/style.css
看到了吗?这些文件被包装在一个文件夹中(与zip文件同名),而不是放在zip文件的根目录中

这能以某种方式实现吗


谢谢

您可以按此处所示操作:

例如:

compress : {
  main : {
    options : {
      archive : "myapp.zip"
    },
    files : [
      { expand: true, src : "**/*", cwd : "dist/" }
    ]
  }
}

将在根路径中生成myapp.zip,计算/dist中包含的所有文件和目录,但不计算dist目录本身。

另一个示例,与原始问题更加一致:

    compress: {
    main: {
        options: {
            archive : "../dist/dev.zip"
        },
        files: [
            {
                expand: true,
                cwd: '../dev/',
                src: ['**'],
            }
        ]
    },
},
这将使您的平面结构:

 dist/
   |____ dev.zip
        |_____ index.html
        |_____ styles/style.css

查看这篇关于grunt compress的精彩文章:

嗨,大卫,我也面临同样的问题,你找到解决方案了吗?