【问题标题】:Grunt exec - Gzip all minified css and js files in directoryGrunt exec - Gzip 目录中所有缩小的 css 和 js 文件
【发布时间】:2018-08-24 08:50:36
【问题描述】:

我只想压缩 js 和 css 文件夹中的所有压缩文件。

我在 stackoverflow 上选择了这个命令行代码,并对其进行了修改以查找缩小的 css 和 js 文件。

for i in `find | grep -E "\.min.css$|\.min.js$"`; do gzip -k9 "$i" ; done

此命令有效,但也搜索其他目录。不可取,因为它也会搜索 node_modules 目录。如何指定只查看 js 和 css 目录。

我试过了

css\.min.css$|js\.min.js$

但什么也没发生。没有错误,没有生成文件。

exec: {
    gzip: {
        command: 'for i in `find | grep -E "\.min.css$|\.min.js$"`; do gzip -k9 "$i" ; done',
        stdout: true,
        stderr: true
    }
}

编辑 我查找了 find 命令的手册页,并为每个文件夹编写了两个单独的命令,即我的 gruntfile.js 中的 js 和 css。

完美运行,但我想它可以使用 grep 在一行中完成。还不知道怎么做。

exec: {
    gzipJs: {
        command: 'for i in `find js admin/assets -name "*.min.js"`; do gzip -k9 "$i" ; done',
        stdout: true,
        stderr: true
    },

    gzipCss: {
        command: 'for i in `find css admin/assets -name "*.min.css"`; do gzip -k9 "$i" ; done',
        stdout: true,
        stderr: true
    }
}

【问题讨论】:

    标签: command-line find sh


    【解决方案1】:

    如果我理解正确,您只是在寻找

    find admin/assets css js '(' -name '*.min.js' -o -name '*.min.css' ')' -exec gzip -k9 '{}' +
    

    不需要` `for 循环(顺便说一句,如果您的任何文件名包含空格,它们就会中断)。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 2011-07-28
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多