如何批量调用Makefile的Brotli压缩CSS目标?
批量压缩CSS文件为Brotli格式的Makefile方案
你可以通过以下方式修改Makefile,实现一次性压缩assets/css/目录下所有CSS文件:
完整Makefile示例
# 扫描assets/css目录下所有CSS源文件 CSS_FILES := $(wildcard assets/css/*.css) # 将CSS文件路径转换为对应的.br目标文件路径 BR_FILES := $(patsubst assets/css/%.css, assets/css/%.css.br, $(CSS_FILES)) # 默认目标:执行make时自动触发所有.br文件的生成 all: $(BR_FILES) # 单个文件的压缩规则(保留你原有的逻辑) assets/css/%.css.br: assets/css/%.css brotli $< $@ # 可选:清理所有生成的.br文件 clean: rm -f $(BR_FILES)
关键部分说明
$(wildcard assets/css/*.css):自动抓取assets/css/目录下所有.css文件,生成完整的文件路径列表。$(patsubst ...):将每个CSS文件的后缀替换为.css.br,得到所有需要生成的目标文件集合。all: $(BR_FILES):把all设为默认目标,它依赖所有.css.br文件。执行make命令时,Make会自动对比源CSS文件和对应的.br文件的修改时间,仅当源文件更新时才会重新执行压缩。
使用方式
- 执行
make:批量生成所有CSS文件对应的.css.br压缩文件。 - 执行
make clean:删除所有生成的.css.br文件(可选功能)。
内容的提问来源于stack exchange,提问作者Evert
相关产品推荐
相关产品推荐

