5

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

_build/    #build scripts
dist/      #destination
dev/       #source

这是代码(_build 中的 gruntfile.js):

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

我希望我可以只压缩 dev 文件夹的内容并将其放入 dist 文件夹。但是当我尝试这样做时,dev 的所有内容都压缩在根文件夹中。

实际生成的 zip:

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

但我希望 zip 文件是这样的:

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

你看?这些文件被包装在一个文件夹中(与 zip 同名),而不是放在 zip 文件的根目录中。

这可以通过某种方式实现吗?

谢谢

4

2 回答 2

11

你可以在这里公开:https ://github.com/gruntjs/grunt-contrib-compress/issues/33

例如 :

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

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

于 2013-07-26T13:01:59.937 回答
6

另一个例子,更符合原始问题:

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

这应该给你的平面结构:

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

查看这篇关于 grunt-compress 的精彩文章:http: //www.charlestonsw.com/what-i-learned-about-grunt-compress/

于 2014-08-24T01:18:48.247 回答