使用 uglifycss 生成输出文件时更改文件扩展名
Change file extension while generating output file using uglifycss
我正在使用 uglifycss npm 包缩小项目输出目录中的所有 CSS 文件。我正在执行以下 post-build 脚本以缩小 CSS 文件内容并通过附加 *.min.css
重命名文件
find dist/assets/css/ -type f -name "*.css" -exec uglifycss --output {}.min.css {} \; -exec rm {} \;
执行脚本前的文件:
执行脚本后的文件:
我想从完整文件名路径中删除现有 .css
并向其附加 .min.css
。我尝试了几种解决方案,但无法达到预期的结果。我浏览了 uglifycss 文档,但找不到任何内容。有什么方法可以 trim 来自 {} 文件路径的扩展名?
找到答案here并像这样将其转换为您的需要
find dist/assets/css/ -type f -name "*.css" -exec bash -c 'name="{}"; uglifycss --output "${name//css/min.css}" "$name"' \; -exec rm {} \;
问题出在 -exec
,{}
被替换为完整的文件名,并且没有直接的方法从 {}
中删除扩展名。一种方法是使用 shell manipulation
find dist/assets/css/ -type f -name "*.css" -exec sh -c '
for file ; do
uglifycss --output "${file%.css}.min.css" "$file"
rm -- "$file"
done
' _ {} +
诀窍在于参数扩展 ${file%.css}.min.css
,扩展 .css
被删除,部分 .min.css
被添加回来。
我正在使用 uglifycss npm 包缩小项目输出目录中的所有 CSS 文件。我正在执行以下 post-build 脚本以缩小 CSS 文件内容并通过附加 *.min.css
find dist/assets/css/ -type f -name "*.css" -exec uglifycss --output {}.min.css {} \; -exec rm {} \;
执行脚本前的文件:
执行脚本后的文件:
我想从完整文件名路径中删除现有 .css
并向其附加 .min.css
。我尝试了几种解决方案,但无法达到预期的结果。我浏览了 uglifycss 文档,但找不到任何内容。有什么方法可以 trim 来自 {} 文件路径的扩展名?
找到答案here并像这样将其转换为您的需要
find dist/assets/css/ -type f -name "*.css" -exec bash -c 'name="{}"; uglifycss --output "${name//css/min.css}" "$name"' \; -exec rm {} \;
问题出在 -exec
,{}
被替换为完整的文件名,并且没有直接的方法从 {}
中删除扩展名。一种方法是使用 shell manipulation
find dist/assets/css/ -type f -name "*.css" -exec sh -c '
for file ; do
uglifycss --output "${file%.css}.min.css" "$file"
rm -- "$file"
done
' _ {} +
诀窍在于参数扩展 ${file%.css}.min.css
,扩展 .css
被删除,部分 .min.css
被添加回来。