如何解决使用uglifycss生成输出文件时更改文件扩展名
我正在使用uglifycss npm软件包来缩小项目输出目录中的所有CSS文件。我正在执行以下构建后脚本,以最小化CSS文件的内容并通过附加*.min.css
find dist/assets/css/ -type f -name "*.css" -exec uglifycss --output {}.min.css {} \; -exec rm {} \;
执行脚本之前的文件:
执行脚本后的文件:
我想从完整的文件名路径中删除现有的.css
,并将.min.css
附加到该文件名路径中。我尝试了几种解决方案,但无法达到预期的结果。我已经查看过uglifycss文档,但找不到任何东西。有什么方法可以修剪{}文件路径中的扩展名?
解决方法
问题出在-exec
上,{}
被完整的文件名代替,并且没有直接的方法从{}
删除扩展名。一种方法是使用外壳操作
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
。
找到答案here,并将其转化为您的需求
find dist/assets/css/ -type f -name "*.css" -exec bash -c 'name="{}"; uglifycss --output "${name//css/min.css}" "$name"' \; -exec rm {} \;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。