如何使用 minify 工具通过命令行缩小 Javascript 和 CSS?

如何使用 minify 工具通过命令行缩小 Javascript 和 CSS?

我不太精通 unix,也不会 Java,所以 YUI Compressor 不适用,但我知道这一点缩小工具,它将从特定 URI 获取 JS/CSS 文件的缩小版本/min/?f=/path/to/file.js.css

我可以使用哪些unix命令,使用这种方法来缩小public_html文件夹中的所有js/css文件,用其缩小版本替换所有js/css文件?

答案1

经过搜索和实现后,我在这里通过一个bash文件给出答案。

我使用 npm 包uglifyjsuglifycss分别用于压缩JS和CSS文件。我使用命令find循环访问这些文件。我假设 js 和 css 文件分别位于 ajs/和 acss/文件夹中。

#minification of JS files
find js/ -type f \
    -name "*.js" ! -name "*.min.*" ! -name "vfs_fonts*" \
    -exec echo {} \; \
    -exec uglifyjs -o {}.min {} \;

#minification of CSS files
find css/ -type f \
    -name "*.css" ! -name "*.min.*" \
    -exec echo {} \; \
    -exec uglifycss --output {}.min {} \;

这将缩小相应目录中的所有 js 和 cssjs/文件css/。如果您想排除其中的某些特定文件夹或模式,请使用该选项! -name


如果你想简单地用原始文件替换缩小后的文件,即删除原始文件:

#minification of JS files
find js/ -type f \
    -name "*.js" ! -name "*.min.*" ! -name "vfs_fonts*" \
    -exec echo {} \; \
    -exec uglifyjs -o {}.min {} \; \
    -exec rm {} \; \
    -exec mv {}.min {} \;

#minification of CSS files
find css/ -type f \
    -name "*.css" ! -name "*.min.*" \
    -exec echo {} \; \
    -exec uglifycss --output {}.min {} \; \
    -exec rm {} \; \
    -exec mv {}.min {} \;

答案2

sudo apt-get install yui-compressor
yui-compressor finename.css > filename.min.css

资料来源:

相关内容