nginx - 简化静态资产的 Grunt 压缩
问题描述
我正在使用 Gzip (style.css.gz) 和 Brotli (style.css.br) 在我的 Grunt 构建过程中预压缩静态资产(例如 style.css)。因为我找不到更好的教程或示例,所以我为每个要压缩的扩展添加了一个包含数十个子任务的压缩任务。这适用于 Nginxgzip_static on;
和brotli_static on;
指令。
到目前为止我所拥有的:
grunt.registerTask('default', [
'compress:jsgz',
'compress:jsbr',
'compress:cssgz',
'compress:cssbr',
'compress:mapgz',
'compress:mapbr',
'compress:ttfgz',
'compress:ttfbr',
'compress:eotgz',
'compress:eotbr',
'compress:otfgz',
'compress:otfbr',
'compress:svggz',
'compress:svgbr',
'compress:woffgz',
'compress:woffbr',
'compress:woff2gz'
'compress:woff2br'
...
一个示例子任务如下所示:
compress: {
jsgz: {
options: {
mode: 'gzip',
level: 6
},
expand: true,
cwd: 'wordpress/',
dest: 'wordpress/',
extDot: 'last',
src: ['**/*.js'],
ext: '.js.gz'
},
...
虽然这很好用,但我实际上更喜欢只有 2 个子任务,一个用于 gzip,一个用于 brotli:
gzip: {
options: {
mode: 'gzip',
level: 6
},
expand: true,
cwd: 'wordpress/',
dest: 'wordpress/',
extDot: 'last',
src: ['**/*.(js|css|map|ttf|eot|otf|svg|woff|woof2|xml|txt|...)'],
ext: '.???.gz'
},
brotli: {...}
ext 参数是否允许占位符?动态的东西?我能以某种方式实现吗?谢谢你的帮助。
解决方案
推荐阅读
- r - 如何在绘图中使用新的分组值
- ios - UITableView 的委托类在 mvc 中的位置是什么?
- django - Django MVC 哲学并使用 get_object_404 而不是 raise404
- python - Flask_Sqlalchemy 没有正确导入?Python
- java - Java中多行文本代码中的正则表达式
- python-3.x - Python PyCryptodome 数字签名算法与 DSS
- sql - 带有 GROUP BY 和多个 WHERE 子句的 Oracle SELECT 语句
- reactjs - 当状态/道具改变时,酶包装不会改变
- jquery - 许多不同的链接复制
- qt - 目标“ColorCorrector”链接到目标“Qt5::Quick”,但未找到目标